ElasticSearch 的实用插件elasticsearch-head

引用 http://blog.51cto.com/zero01/2130696

elasticsearch-head,这个插件可以提供一个图形化的界面,能让我们直观的查看节点数据以及集群健康状态等

切换成root用户

进入elasticsearch-head的github地址,复制其.zip的下载链接,到命令行上进行下载

https://github.com/mobz/elasticsearch-head

[root@zsls ~]# cd /usr/local/src/
[root@zsls src]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip

解压下载好的.zip压缩包

[root@zsls src]# unzip master.zip 

[root@zsls src]# mv elasticsearch-head-master/ /usr/local/

elasticsearch-head是一个提供图形化的插件,其图形化是基于node.js的,所以我们需要先准备好node.js环境

https://nodejs.org/en/download/

[root@zsls src]# wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz

[root@zsls src]# tar -Jxvf node-v10.15.0-linux-x64.tar.xz -C /usr/local/

[root@zsls local]# mv /usr/local/node-v10.15.0-linux-x64/ /usr/local/node-v10.15.0

配置环境变量

[root@zsls local]# vim /etc/profile

export NODE_HOME=/usr/local/node-v10.15.0
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$NODE_HOME/bin

[root@zsls local]# source /etc/profile

[root@zsls local]# node -v        # 输出版本号则代表配置成功

v10.15.0

进入es-head的安装目录,执行npm install命令安装所需的模块

[root@zsls local]# cd /usr/local/elasticsearch-head-master/

[root@zsls elasticsearch-head-master]# npm install [email protected] --ignore-scripts   # 因为有墙,phantomjs-prebuilt需要单独安装,不然会失败

[root@zsls elasticsearch-head-master]# npm install

es-head使用的是grunt server作为服务器,而grunt server默认监听的是localhost,所以我们需要修改Gruntfile.js文件,增加一段配置,不然外部是无法访问的

# 找到这段代码

connect: {
               server: {
                            options: {
                                          hostname: '0.0.0.0',       # 增加这行代码
                                          port: 9100,
                                          base: '.',
                                          keepalive: true
                                         }
                           }
}

设置防火墙规则,开放9100端口

[root@zsls elasticsearch-head-master]# firewall-cmd --zone=public --add-port=9100/tcp --permanent
[root@zsls elasticsearch-head-master]# firewall-cmd --reload

es与es-head是两个独立的进程,当es-head访问es服务时,会存在一个跨域问题。所以我们需要修改es的配置文件,增加一些配置项来解决这个问题

[root@zsls elasticsearch-head-master]# cd ../elasticsearch-5.6.10/

[root@zsls elasticsearch-5.6.10]# cd config/
[root@zsls config]# ls
elasticsearch.yml jvm.options log4j2.properties scripts
[root@zsls config]# vim elasticsearch.yml    # 文件末尾加上如下配置

http.cors.enabled: true
http.cors.allow-origin: "*"

修改完配置文件后需切换到elsearch用户中重启es服务

接着再次进入es-head的安装目录,使用如下命令,启动es-head

[root@zsls elasticsearch-head-master]# npm run start

访问 服务器ip:端口    http://192.168.217.150:9100/

猜你喜欢

转载自www.cnblogs.com/zk1023/p/10193409.html