elasticsearch默认提供REST API,可以使用REST Client一类的工具去访问查看,但是使用起来不够直观。
elasticsearch head插件提供了一个直观访问ES库的方式。
主要功能:
1、查看方便的查看集群状态,包括有多少个replication,多少个shared
2、查看索引的状态
3、可以直接浏览数据
4、提供便捷的查询方式,通过选择的方式查询
5、提供rest api方式的查询
概述
es head并不是es的插件,而是通过resp api访问es,es支持跨域访问
es head需要启动一个web service,供前端浏览器访问,webserver使用grant server。
前端是用nodejs编写。
理解这些,安装步骤也就了然了,同时也暴露了他的局限性,因为是前端技术直接访问es库,所以es必须开放对外接口,而es head又有比较高的权限,可以删除任何节点,且不带安全验证,授权,因此在实际生产环境要慎用。
安装
1、修改 elasticsearch/config/elasticsearch.yml ,支持跨域访问,添加
http.cors.enabled: true
http.cors.allow-origin: "*"
2.下载 elasticsearch-head 或者 git clone 到随便一个文件夹
https://github.com/mobz/elasticsearch-head
3、安装npm, yum install npm
4、安装nodejs
官网下载:https://nodejs.org/en/download/
解压到目录:
tar -xvf node-v8.9.4-linux-x64.tar.xz -C /opt/moudles/
修改环境变量:
[root@biluos node-v8.9.4-linux-x64]# vim /etc/profile
export NODEJS_HOME=/opt/moudles/node-v8.9.4-linux-x64
export PATH=$P
ATH:$NODEJS_HOME/bin
5、构建工具:
npm install -g grunt-cli
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作
6、安装
npm install
这时可能会出现错误:
Please report this full log at https://github.com/Medium/phantomjsnpm ERR! Darwin 15.0.0npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"npm ERR! node v4.4.3npm ERR! npm v3.10.9npm ERR! code ELIFECYCLEnpm ERR! phantomjs-prebuilt@2.1.14 install: `node install.js`npm ERR! Exit status 1npm ERR!npm ERR! Failed at the phantomjs-prebuilt@2.1.14 install script 'node install.js解决方法:手动安装phantomjs,忽略错误
npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
7、运行
grunt server
默认是本地访问,如果开启远程访问,修改配置文件
配置Head主目录下的Gruntfile.js,默认文件中是没有hostname属性的,我们需要手动添加:
connect: { server: { options: { port: 9100, base: '.', keepalive: true, hostname: '*' } } }
8、查看