使用ES的基本都會使用過head,可是版本升級到5.0後,head插件就很差使了。下面就看看如何在5.0中啓動Head插件吧!html
Running with built in servernode
enable cors by adding http.cors.enabled: true in elasticsearch configuration. Don’t forget to also set http.cors.allow-origin because no origin allowed by default. http.cors.allow-origin: "*" is valid value, however it’s considered as a security risk as your cluster is open to cross origin from anywhere.linux
Check Elasticsearch documentation on this parameter:git
git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install grunt server
open http://localhost:9100/
This will start a local webserver running on port 9100 serving elasticsearch-headgithub
Best option if you are likely to connect to several different clustersweb
5.0版本的ES跟以前的版本最大的不一樣之處就是多了不少環境的校驗,好比jdk,max-files等等。npm
vi /etc/sysctl.conf # 增長下面的內容 fs.file-max=65536 vm.max_map_count=262144
vi /etc/security/limits.conf # 修改 * soft nofile 32768 * hard nofile 65536
ulimit -u 2048
修改一下es使用的參數:服務器
# 換個集羣的名字,省得跟別人的集羣混在一塊兒 cluster.name: es-5.0-test # 換個節點名字 node.name: node-101 # 修改一下ES的監聽地址,這樣別的機器也能夠訪問 network.host: 0.0.0.0 # 默認的就好 http.port: 9200 # 增長新的參數,這樣head插件能夠訪問es http.cors.enabled: true http.cors.allow-origin: "*"
須要從github上面下載代碼,所以先要安裝gitapp
yum -y install git
安裝完成後,就能夠直接下載代碼了:cors
git clone git://github.com/mobz/elasticsearch-head.git
下載後,修改下777權限(簡單粗暴),由於是獨立啓動head的,因此隨便放一個位置就好了,參考:
/usr/elk/head/*****
因爲head插件本質上仍是一個nodejs的工程,所以須要安裝node,使用npm來安裝依賴的包。(npm能夠理解爲maven)
去官網下載nodejs,https://nodejs.org/en/download/
下載下來的jar包是xz格式的,通常的linux可能不識別,還須要安裝xz.
yum -y install xz
而後解壓nodejs的安裝包:
xz -d node*.tar.xz tar -xvf node*.tar
解壓完node的安裝文件後,須要配置下環境變量,編輯/etc/profile,添加
# set node environment export NODE_HOME=/usr/elk/node-v6.9.1-linux-x64 export PATH=$PATH:$NODE_HOME/bin
別忘記當即執行如下
source /etc/profile
這個時候能夠測試一下node是否生效:
[root@localnode1 node-v6.9.1-linux-x64]# echo $NODE_HOME /usr/elk/node-v6.9.1-linux-x64 [root@localnode1 node-v6.9.1-linux-x64]# node -v v6.9.1 [root@localnode1 node-v6.9.1-linux-x64]# npm -v 3.10.8
grunt是一個很方便的構建工具,能夠進行打包壓縮、測試、執行等等的工做,5.0裏的head插件就是經過grunt啓動的。所以須要安裝一下grunt:
npm install grunt-cli
安裝完成後檢查一下:
[root@localnode1 elasticsearch-head]# grunt -version grunt-cli v1.2.0 grunt v0.4.5
因爲head的代碼仍是2.6版本的,直接執行有不少限制,好比沒法跨機器訪問。所以須要用戶修改兩個地方:
目錄:head/Gruntfile.js
connect: { server: { options: { port: 9100, hostname: '*', base: '.', keepalive: true } } }
增長hostname屬性,設置爲*
目錄:head/_site/app.js
修改head的鏈接地址:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
把localhost修改爲你es的服務器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.10.10.10:9200";
首先開啓5.0 ES。
而後在head目錄中,執行npm install 下載以來的包:
npm install
最後,啓動nodejs
grunt server
這個時候,訪問http://xxx:9100
就能夠訪問head插件了.