elasticsearch-head插件安装

2018-12-05 15:20:33 浏览数 (1)

什么是elasticsearch-head

ElasticSearch Head是集群管理、数据可视化、增删查改、查询语句可视化工具,提供了一个直观访问ES库的方式。

elasticsearch-head有哪些主要功能

1、方便的查看集群状态,包括有多少个replication,多少个shared 2、查看索引的状态 3、可以直接浏览数据 4、提供便捷的查询方式,通过选择的方式查询 5、提供rest api方式的查询

elasticsearch-head网上流传的安装方式

1、一种是通过elasticsearch本身的插件集成进行安装 2、 利用npm和nodejs进行安装启动,github中给出的安装方法也是这种,本文就是以这种方式进行解说

安装

1、下载head插件

代码语言:javascript复制
wget  https://github.com/mobz/elasticsearch-head/archive/master.zip
代码语言:javascript复制
[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

代码语言:javascript复制
unzip master.zip

解压成功后,安装目录下会多出如下文件夹

代码语言:javascript复制
drwxr-xr-x.  6 root          root            4096 9月  15 2017 elasticsearch-head-master

3、安装nodejs

代码语言:javascript复制
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
代码语言:javascript复制
[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安装包

代码语言:javascript复制
tar -zxvf node-v4.4.7-linux-x64.tar.gz

5、配置nodejs环境变量

代码语言:javascript复制
vim /etc/profile

加入如下内容

代码语言:javascript复制
export NODE_HOME=/oa/other/node-v4.4.7-linux-x64
export PATH=$PATH:$NODE_HOME/bin

执行

代码语言:javascript复制
source /etc/profile

查看nodejs环境变量,是否配置成功

代码语言:javascript复制
echo $NODE_HOME

控制台输出

代码语言:javascript复制
/oa/other/node-v4.4.7-linux-x64

6、安装grunt

grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动

代码语言:javascript复制
cd /oa/other/elasticsearch-head-master/
npm install -g grunt-cli

查看是否安装成功

代码语言:javascript复制
grunt -version

控制台输出

代码语言:javascript复制
grunt-cli v1.3.1

7、安装依赖

切换进入elasticsearch-head-master目录。如果你的网速较快,可以使用这个命令

代码语言:javascript复制
npm install

不然推荐使用国内镜像

代码语言:javascript复制
npm install -g cnpm --registry=https://registry.npm.taobao.org

注:如果使用npm install命令出现

代码语言:javascript复制
npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`

则再次运行

代码语言:javascript复制
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts

即可

注:如果使用国内镜像安装,当运行grunt server,出现

代码语言:javascript复制
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

则运行

代码语言:javascript复制
npm install -g grunt

即可

相关配置文件修改

1、修改Elasticsearch配置文件

在elasticsearch.yml文件,添加支持跨域访问

代码语言:javascript复制
http.cors.enabled: true
http.cors.allow-origin: "*"

2、修改Gruntfile.js

修改 elasticsearch-head-master/Gruntfile.js,在connect属性中,增加hostname: ‘0.0.0.0’

代码语言:javascript复制
vim Gruntfile.js

修改为

代码语言:javascript复制
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

启动elasticsearch-head

代码语言:javascript复制
cd elasticsearch-head-master
grunt server

控制台输出

代码语言:javascript复制
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9107

elasticsearch-head设置后台启动与关闭

启动

直接用

代码语言:javascript复制
grunt server

这种方式启动,当ssh终端关闭或者执行ctrl c命令时,head就关闭了。

所以可以执行如下命令,让head在后台运行

代码语言:javascript复制
cd elasticsearch-head-master
nohup grunt server  > /dev/null 2>&1 &

关闭

网传的后台关闭是用

代码语言:javascript复制
ps -ef |grep head
然后执行
kill -9 进程号

但我试过了不管用。其实head的启动用是基于grunt启动,只要找出grunt进程,然后关闭进程号就行

代码语言:javascript复制
[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脚本为:

代码语言:javascript复制
ps -ef |grep grunt|awk '{print $2}'|xargs kill -9

最后展示一下head页面

0 人点赞