安裝ElasticSearch 6.1.1 head插件

http://blog.csdn.net/chengyuqiang/article/details/78838175(主)
http://www.mamicode.com/info-detail-2143248.html(輔助)

2.1 Head插件簡介

ElasticSearch-head是一個H5編寫的ElasticSearch集羣操作和管理工具,可以對集羣進行傻瓜式操作。

  • 顯示集羣的拓撲,並且能夠執行索引和節點級別操作
  • 搜索接口能夠查詢集羣中原始json或表格格式的檢索數據
  • 能夠快速訪問並顯示集羣的狀態
  • 有一個輸入窗口,允許任意調用RESTful API。這個接口包含幾個選項,可以組合在一起以產生有趣的結果;
  • 5.0版本之前可以通過plugin名安裝,5.0之後可以獨立運行。

2.2 Head插件安裝

(1)安裝NodeJS

[root@node1 ~]# yum install -y nodejs
或者自己下載tar文件解壓

wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz

tar -zxvf node-v4.5.0-linux-x64.tar.gz

配置下環境變量,編輯/etc/profile添加

export NODE_HOME=/usr/local/node-v4.5.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules

執行 source /etc/profile


  • 1

(2)安裝npm

[root@node1 ~]#  npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 1

(3)使用npm安裝grunt

[root@node1 ~]# npm install -g grunt
npm WARN deprecated coffee-script@1.10.0: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN gentlyRm not removing /usr/bin/grunt as it wasn't installed by /usr/lib/node_modules/grunt
/usr/bin/grunt -> /usr/lib/node_modules/grunt/bin/grunt
/usr/lib
└── grunt@1.0.1 

[root@node1 ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
[root@node1 ~]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy
/usr/bin/grunt -> /usr/lib/node_modules/grunt-cli/bin/grunt
/usr/lib
└─┬ grunt-cli@1.2.0 
  ├─┬ findup-sync@0.3.0 
  │ └─┬ glob@5.0.15 
  │   ├─┬ inflight@1.0.6 
  │   │ └── wrappy@1.0.2 
  │   ├── inherits@2.0.3 
  │   ├─┬ minimatch@3.0.4 
  │   │ └─┬ brace-expansion@1.1.8 
  │   │   ├── balanced-match@1.0.0 
  │   │   └── concat-map@0.0.1 
  │   ├── once@1.4.0 
  │   └── path-is-absolute@1.0.1 
  ├── grunt-known-options@1.1.0 
  ├─┬ nopt@3.0.6 
  │ └── abbrev@1.1.1 
  └── resolve@1.1.7 

[root@node1 ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

(4)版本確認

[es@node1 ~]$ node -v
v6.12.0
[es@node1 ~]$ npm -v
3.10.10
[es@node1 ~]$ grunt -version
grunt-cli v1.2.0
[es@node1 ~]$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

(5)下載head插件源碼

[es@node1 ~]$ wget https://github.com/mobz/elasticsearch-head/archive/master.zip也可以在別的地方下載後上傳到服務器
[es@node1 ~]$ ls
master.zip
[es@node1 ~]$ unzip master.zip 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

(6)下載依賴 
進入elasticsearch-head-master目錄,執行下面命令

[es@node1 elasticsearch-head-master]$ npm install

> phantomjs-prebuilt@2.1.16 install /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt
> node install.js

PhantomJS not found on PATH
Download already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Verified checksum of previously downloaded file
Extracting tar contents (via spawned process)
Removing /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1515165531727/phantomjs-2.1.1-linux-x86_64 -> /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
elasticsearch-head@0.0.0 /home/es/elasticsearch-head-master
└─┬ grunt-contrib-jasmine@1.0.3
  └─┬ grunt-lib-phantomjs@1.1.0
    └── phantomjs-prebuilt@2.1.16 

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
[es@node1 elasticsearch-head-master]$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

如果上面命令安裝較慢或失敗,可以嘗試國內鏡像安裝

[es@node1 elasticsearch-head-master]$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
[sudo] password for es: 
/usr/bin/cnpm -> /usr/lib/node_modules/cnpm/bin/cnpm
/usr/lib
└─┬ cnpm@5.1.1 
  ├─┬ npminstall@3.3.0 
  │ ├── binary-mirror-config@1.7.3 
  │ ├── moment@2.20.1 
  │ └─┬ tar@4.2.0 
  │   └── minizlib@1.1.0 
  └─┬ urllib@2.25.3 
    └─┬ proxy-agent@2.1.0
      └─┬ pac-proxy-agent@2.0.0
        └─┬ socks-proxy-agent@3.0.1
          └─┬ agent-base@4.1.2
            └─┬ es6-promisify@5.0.0
              └── es6-promise@4.2.2 

[es@node1 elasticsearch-head-master]$ cnpm install
⠸ [6/10] Installing json-schema-traverse@^0.3.0platform unsupported karma@1.3.0 › chokidar@1.7.0 › fsevents@^1.0.0 Package require os(darwin) not compatible with your platform(linux)
[fsevents@^1.0.0] optional install error: Package require os(darwin) not compatible with your platform(linux)
✔ Installed 10 packages
✔ Linked 313 latest versions
PhantomJS not found on PATH
Download already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Verified checksum of previously downloaded file
Extracting tar contents (via spawned process)
Removing /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1515223629881/phantomjs-2.1.1-linux-x86_64 -> /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantom/bin/phantomjs
✔ Run 1 scripts
deprecate grunt-contrib-connect@1.0.2 › http2@^3.3.4 Use the built-in module in node 9.0.0 or newer, instead
deprecate grunt@1.0.1 › coffee-script@~1.10.0 CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
anti semver karma@1.3.0 › useragent@2.2.1 › tmp@0.0.x delcares tmp@0.0.x(resolved as 0.0.33) but using ancestor(karma)'s dependency [email protected](resolved as 0.0.28)
✔ All packages installed (365 packages installed from npm registry, used 17s, speed 497.82kB/s, json 323(581.43kB), tarball 7.64MB)
[es@node1 elasticsearch-head-master]$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

2.3 配置

(0)停止ElasticSearch 
如果ElasticSearch已經啓動,需要先停止

[es@node1 ~]$ jps
3261 Elasticsearch
3375 Jps
[es@node1 ~]$ kill 3261
  • 1
  • 2
  • 3
  • 4

(1)配置 ElasticSearch,使得HTTP對外提供服務

[es@node1 elasticsearch-6.1.1]$ vi config/elasticsearch.yml
  • 1

添加如下內容

# 增加新的參數,這樣head插件可以訪問es。設置參數的時候:後面要有空格
http.cors.enabled: true
http.cors.allow-origin: "*"
  • 1
  • 2
  • 3

(2)修改Head插件配置文件

[es@node1 elasticsearch-head-master]$ vi Gruntfile.js
  • 1

找到connect:server,添加hostname一項,如下

connect: {
                        server: {
                                options: {
                                        hostname: '0.0.0.0',
                                        port: 9100,
                                        base: '.',
                                        keepalive: true
                                }
                        }
                }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2.4 啓動

(1)啓動elasticsearch 
首先確認elasticsearch已經啓動

[es@node1 elasticsearch-6.1.1]$ bin/elasticsearch -d
[es@node1 elasticsearch-6.1.1]$ jps
3451 Jps
3436 Elasticsearch
[es@node1 elasticsearch-6.1.1]$
  • 1
  • 2
  • 3
  • 4
  • 5

(2)啓動head 
通過命令grunt server啓動head

[es@node1 elasticsearch-head-master]$ grunt server需要在head的目錄下運行
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://node1:9100
  • 1
  • 2
  • 3
  • 4
  • 5

或者通過命令npm run start也可以啓動head

[es@node1 elasticsearch-head-master]$ npm run start

> elasticsearch-head@0.0.0 start /home/es/elasticsearch-head-master
> grunt server

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://node1:9100
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

(3)訪問9100端口 
http://10.105.45.32:9100/

這裏寫圖片描述 
如果出現“未連接”,請修改localhost爲node1,然後單擊“連接”按鈕

這裏寫圖片描述

2.5 簡單應用

(1)創建索引

[root@node1 ~]# curl -XPUT node1:9200/test
{"acknowledged":true,"shards_acknowledged":true,"index":"test"}[root@node1 ~]# 
  • 1
  • 2

(2)查看head變化 
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章