为了增强对elasticsearch集群的管理与操作,在社区存在很多相关的插件,其中head插件是其中应用得最广泛的插件之一。head插件一方面可以查看到集群的状态,同时可以对集群上的索引进行管理,包括增加索引、删除索引、对索引数据进行基础查询和复合查询等。
head下载插件:https://github.com/mobz/elasticsearch-head
环境参考前一篇:https://blog.csdn.net/goodstudy168/article/details/81127853
1、nodejs安装
先从官网下载:https://nodejs.org/en/download/
将安装包上传到83.3.211.72节点,然后进行解压
[linxiaojie node-v8.11.3-linux-x64]$ ls
bin CHANGELOG.md include lib LICENSE README.md share
使用root用户增加如下环境变量到/etc/profile中:
export NODE_HOME=/data/Hadoop/node-v8.11.3-linux-x64/
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
查看nodejs是否生效
[linxiaojie linxiaojie]$ npm version
{ 'elasticsearch-head': '0.0.0',
npm: '5.6.0',
ares: '1.10.1-DEV',
cldr: '32.0',
http_parser: '2.8.0',
icu: '60.1',
modules: '57',
napi: '3',
nghttp2: '1.32.0',
node: '8.11.3',
openssl: '1.0.2o',
tz: '2017c',
unicode: '10.0',
uv: '1.19.1',
v8: '6.2.414.54',
zlib: '1.2.11' }
2、安装head插件
从上面提供的head插件的地址将master下载elasticsearch-head-master.zip压缩包,对压缩包进行解压并重命名为elasticsearch-head(重命名不是必须的)
[linxiaojie head]$ ls
elasticsearch-head elasticsearch-head-master.zip
进行elasticsearch-head目录下的Gruntfile.js中增加
connect: {
server: {
options: {
port: 9100,
base: '.',
keepalive: true,
hostname: '*'
}
}
}
修改_site/app.js文件,明确指时集群的访问地址
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://83.3.211.72:9200";
在elasticsearch的elasticsearch.yml增加head的访问参数:
# 增加参数,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
3、启动head服务
注意:elasticsearch与head插件是两个不同的服务进程,与早期的版本有所区别
执行npm run start启动grunt server,查看默认的9100端口是否正常启动:
[linxiaojie config]$ ss -lnp | grep 9100
LISTEN 0 511 :::9100 :::* users:(("grunt",13667,10))
4、从web端查看集群的状态
整个head插件部署完成,部署过程中遇到的唯一问题是连接不上es的集群,问下google轻松解决。