轉並修改自:https://blog.csdn.net/zheng45/article/details/89681863
1.elasticsearch-head插件介紹:
elasticsearch-head是一個界面化的集群操作和管理工具,可以對集群進行傻瓜式操作。你可以通過插件把它集成到elasticsearch(5.0版本后不支持此方式),由於我ES使用的是6.X版本,所以我把es-head安裝成一個獨立webapp,它依賴Node.js庫,使用Grunt工具構建,所以需要先安裝Node.js和Grunt。
2.安裝node.js
(0)先檢查是否已經安裝了node.js 和npm,如果有跳過這一步
$ node -v #驗證node.js是否已經安裝,如果能查看到版本號說明已經安裝
$ npm -v #驗證npm工具是否已經安裝,如果能查看到版本號說明已經安裝
(1)下載node.js
$ sudo su
$ cd /usr/elasticsearch/ $ wget https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz
(2)解壓文件:
$ xz -d node-v6.9.2-linux-x64.tar.xz #解壓出來是tar,需要繼續解壓 $ tar –xvf node-v6.9.2-linux-x64.tar $ mv node-v6.9.2-linux-x64 /usr/local/node //移到node目錄
(3)配置環境變量
$ vi /etc/profile #打開配置文件
在配置文件中添加:
NODE_HOME=/usr/local/node #添加node_home變量 PATH= $PATH:$JAVA_HOME/bin:$NODE_HOME/bin #把node_home變量添加到環境變量中 export PATH
(4)重新加載配置文件
$ source /etc/profile #重新加載環境變量配置文件
3.安裝elasticsearch-head插件
下載地址:https://github.com/mobz/elasticsearch-head 把源碼elasticsearch-head-master.zip下載下來,然后上傳到/usr/elasticsearch/下。解壓。(of course 直接git clone也OK )
$ wget https://codeload.github.com/mobz/elasticsearch-head/zip/master
$ unzip elasticsearch-head-master.zip
$ mv elasticsearch-head-master /usr/elasticsearch/
安裝grunt工具
進入es-head,執行npm,使用taobao鏡像
$ npm install -g grunt --registry=https://registry.npm.taobao.org #安裝grunt工具
編譯elasticsearch-head源碼
$ npm install -g cnpm --registry=https://registry.npm.taobao.org #安裝cnpm $ cnpm install #使用cnpm代替npm編譯es-head源碼
編譯好后es-head根目錄下會出現一個叫node_modules的目錄,該目錄就是存放源碼編譯后的可執行文件。
插件配置修改
(1)設置插件管理界面跨主機訪問
插件默認是只有127.0.0.1才能訪問,這樣我們就無法跨主機訪問管理界面,所以需要把它改成0.0.0.0,才能跨機訪問。該配置在head插件安裝目錄根目錄下,文件名為Gruntfile.js。
$ vim Gruntfile.js
在port: 9100上面加一行hostname: '0.0.0.0',這樣其他機器就可以訪問了。如果有開防火牆,記得開放9100端口。
(2)設置連接elasticsearch的地址:插件默認是連接本機es的,即127.0.0.1:9200,如果ES不在本機上或者端口不是默認端口,需要在app.js進行配置,配置文件在head插件安裝目錄的_site目錄下。把this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://localhost:9200”;這行配置中的http://localhost:9200改成你elasticsearch服務所在IP地址。
$ vim _site/app.js
(3)elasticsearch配置允許跨域訪問:修改elasticsearch配置文件,
$ locate elasticsearch.yml #查看配置文件所在位置
$ vim /etc/elasticsearch/elasticsearch.yml
在最后加上兩行:
http.cors.enabled: true http.cors.allow-origin: “*”
保存后重啟es。
$ sudo /etc/init.d/elasticsearch restart
進入elasticsearch-head-master下,運行grunt server
$ cd elasticsearch-head-master
$ grunt server
如果能打印以下的信息,那就說明head插件安裝並運行成功,我們可以通過http://ip:9100訪問管理頁面。
這里並不是后台啟動,我們可以創建一個后台啟動文件,使其能夠后台啟動。
$ vim es-head-start.sh
文件輸入以下信息,保存后執行 sh es-head-start.sh實現后台啟動。
#!/bin/bash echo "START elasticsearch-head " nohup grunt server &exit