ElasticSearch Head是集群管理、数据可视化、增删查改、查询语句可视化工具,提供了一个直观访问ES库的方式。
1、方便的查看集群状态,包括有多少个replication,多少个shared 2、查看索引的状态 3、可以直接浏览数据 4、提供便捷的查询方式,通过选择的方式查询 5、提供rest api方式的查询
1、一种是通过elasticsearch本身的插件集成进行安装 2、 利用npm和nodejs进行安装启动,github中给出的安装方法也是这种,本文就是以这种方式进行解说
1、下载head插件
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[root@oa3 other]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
--2018-10-26 08:51:55-- https://github.com/mobz/elasticsearch-head/archive/master.zip
正在解析主机 github.com (github.com)... 192.30.253.112, 192.30.253.113
正在连接 github.com (github.com)|192.30.253.112|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://codeload.github.com/mobz/elasticsearch-head/zip/master [跟随至新的 URL]
--2018-10-26 08:51:57-- https://codeload.github.com/mobz/elasticsearch-head/zip/master
正在解析主机 codeload.github.com (codeload.github.com)... 192.30.253.120, 192.30.253.121
正在连接 codeload.github.com (codeload.github.com)|192.30.253.120|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:921421 (900K) [application/zip]
正在保存至: “master.zip”
100%[======================================================================================================================================================================================>] 921,421 171KB/s 用时 5.3s
2018-10-26 08:52:03 (171 KB/s) - 已保存 “master.zip” [921421/921421])
2、解压下载好的head
unzip master.zip
解压成功后,安装目录下会多出如下文件夹
drwxr-xr-x. 6 root root 4096 9月 15 2017 elasticsearch-head-master
3、安装nodejs
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
[root@oa3 other]# wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
--2018-10-26 09:01:42-- https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
正在解析主机 npm.taobao.org (npm.taobao.org)... 114.55.80.225
正在连接 npm.taobao.org (npm.taobao.org)|114.55.80.225|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:http://cdn.npm.taobao.org/dist/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz [跟随至新的 URL]
--2018-10-26 09:01:42-- http://cdn.npm.taobao.org/dist/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
正在解析主机 cdn.npm.taobao.org (cdn.npm.taobao.org)... 182.106.155.235, 182.106.155.232, 182.106.155.233, ...
正在连接 cdn.npm.taobao.org (cdn.npm.taobao.org)|182.106.155.235|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:12189839 (12M) [application/octet-stream]
正在保存至: “node-v4.4.7-linux-x64.tar.gz”
100%[======================================================================================================================================================================================>] 12,189,839 4.04MB/s 用时 2.9s
2018-10-26 09:01:45 (4.04 MB/s) - 已保存 “node-v4.4.7-linux-x64.tar.gz” [12189839/12189839])
4、解压nodejs安装包
tar -zxvf node-v4.4.7-linux-x64.tar.gz
5、配置nodejs环境变量
vim /etc/profile
加入如下内容
export NODE_HOME=/oa/other/node-v4.4.7-linux-x64
export PATH=$PATH:$NODE_HOME/bin
执行
source /etc/profile
查看nodejs环境变量,是否配置成功
echo $NODE_HOME
控制台输出
/oa/other/node-v4.4.7-linux-x64
6、安装grunt
grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动
cd /oa/other/elasticsearch-head-master/
npm install -g grunt-cli
查看是否安装成功
grunt -version
控制台输出
grunt-cli v1.3.1
7、安装依赖
切换进入elasticsearch-head-master目录。如果你的网速较快,可以使用这个命令
npm install
不然推荐使用国内镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
注:如果使用npm install命令出现
npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`
则再次运行
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
即可
注:如果使用国内镜像安装,当运行grunt server,出现
grunt-cli: The grunt command line interface (v1.3.1)
Fatal error: Unable to find local grunt.
If you're seeing this message, grunt hasn't been installed locally to
your project. For more information about installing and configuring grunt,
please see the Getting Started guide:
https://gruntjs.com/getting-started
则运行
npm install -g grunt
即可
1、修改Elasticsearch配置文件
在elasticsearch.yml文件,添加支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
2、修改Gruntfile.js
修改 elasticsearch-head-master/Gruntfile.js,在connect属性中,增加hostname: ‘0.0.0.0’
vim Gruntfile.js
修改为
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9107,
base: '.',
keepalive: true
}
}
}
注:端口可以任意
3、修改连接地址(可选)
修改 elasticsearch-head-master/_site/app.js
注:esIP:esPort 为elasticsearch为es的连接地址,诸如:192.168.1.1:9200
cd elasticsearch-head-master
grunt server
控制台输出
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9107
启动
直接用
grunt server
这种方式启动,当ssh终端关闭或者执行ctrl+c命令时,head就关闭了。
所以可以执行如下命令,让head在后台运行
cd elasticsearch-head-master
nohup grunt server > /dev/null 2>&1 &
关闭
网传的后台关闭是用
ps -ef |grep head
然后执行
kill -9 进程号
但我试过了不管用。其实head的启动用是基于grunt启动,只要找出grunt进程,然后关闭进程号就行
[root@oa3 elasticsearch-head-master]# ps -ef | grep grunt
root 11622 1 1 14:17 ? 00:00:05 grunt
root 12097 11964 0 14:26 pts/1 00:00:00 grep --color=auto grunt
[root@oa3 elasticsearch-head-master]# kill -9 11622
当然上面的启动关闭可以做成shell脚本,方便执行。具体脚本就不提供了,很简单的,比如关闭后台的head,其shell脚本为:
ps -ef |grep grunt|awk '{print $2}'|xargs kill -9
最后展示一下head页面