1、Head插件介绍以及下载
Head插件是Elasticsearch的图形化界面工具,通过此插件可以很方便的对数据进行增删改查等数据交互操作。在Elasticsearch5.x版本以后,head插件已经是一个独立的Web App了,所以不需要和Elasticsearch进行集成。可以将Head插件安装到任何一台机器上,这里将Head插件安装到172.16.0.57(server1)机器上,读者可以从https://github.com/mobz/elasticsearch-head 下载此插件。
由于Head插件本质上是一个Node.js的工程,因此需要安装Node.js,使用npm工具来安装依赖的包。这里简单说下Node.js和NPM,作为知识的铺垫。
Node.js是一个Javascript运行环境,一个新兴的前端框架,用于方便的地搭建响应速度快、易于扩展的网络应用。
NPM的全称是Node Package Manager,是一个Node.js包管理和分发工具,它定义了包依赖关系标准,并提供了用于JavaScript开发所需要的各种常见第三方框架的下载。
2、在Centos7系列的系统上,可以直接通过yum在线安装Node.js和NPM工具。
[root@localhost ~]# yum install -y nodejs npm
下载Head插件,这里我们通过git方式下载Head插件,那么先要安装git工具
[root@localhost ~]# yum install -y git
接着,开始安装head插件,这里将head插件安装到/usr/local目录下,操作过程如下:
[root@localhost local]# git clone git://github.com/mobz/elasticsearch-head.git
其中,第一步是通过git命令从github克隆head插件程序
克隆下来的head插件命名为elasticsearch-head。进入此目录修改配置文件:/usr/local/elasticsearch-head/_site/app.js,修改如下所示的内容:
表示的意思是head插件将通过172.16.0.51来访问elasticsearch集群。
注意:访问elasticsearch集群中的任意一个节点,都能获取集群的所有信息。
开始配置然后安装
[root@localhost local]# npm config set registry=http://registry.npm.taobao.org/ [root@localhost local]# cd elasticsearch-head [root@localhost elasticsearch-head]# npm install
其中,第一步是修改源地址为淘宝NPM镜像,因为默认NPM的官方源为https://registry.npmjs.org/ 。国外下载速度会很慢,所以这里建议切换到淘宝的NPM镜像站点比较好。第四步是安装head插件所需的库和第三方框架。
注意:如果报错的话,请查看:npm install 时报 phantomjs-prebuilt@2.1.16安装失败,解决方法:npm install phantomjs-prebuilt@2.1.16 --ignore-scripts,然后再执行一遍npm install就可以了
3、修改elasticsearch配置。
在上面的配置中,将head插件访问集群的地址配置为172.16.0.51(这是我的es集群的某台主机)这个主机,下面还需要修改此主机上elasticsearch的配置,添加跨域访问支持。
修改此主机的leasticsearch配置文件,允许head插件跨域访问elasticsearch,在elasticsearch.yml文件最后添加如下内容:
其中:http.cors.enabled表示开启蛞蝓访问支持,此值默认为false。http.cors.allow-origin表示跨域访问允许的域名地址,可以使用正则表达式,这里的“*”表示允许所有域名访问。
4、启动head插件服务。
接下来我们就可以去安装有head插件的服务启动一下。
[root@localhost ~]# cd /usr/local/elasticsearch-head
[root@localhost elasticsearch-head]# npm run start
head插件服务启动之后,默认的访问端口为9100,直接在浏览器打开http://172.16.0.57:9100即可,如下图所示:
首先可以看到,elasticsearch集群有elk01、elk02和elk03三个节点,其中,elk01是目前的主节点。点击图上的信息按钮,可查看节点详细信息。
其次,从这个页面上可以看到elasticsearch基本的分片的信息,比如主分片、副本分片等等,以及多少可用分片。由于在elasticsearch配置中设置了5个分片,一个副本分片,因此可以看到每个索引都有10个分片,每个分片都用0、1、2、3、4等数字加方框表示,其中,粗体方框是主分片,细体方框是副本分片。
图中ELK-chaofeng是集群的名称,后面的“集群健康值”通过不同的颜色表示集群的健康状态:其中,绿色表示主分片和副本分片都可用;黄色表示只有主分片可用,没有副本分片;红色表示主分片中的部分索引不可用,但是某些索引还可以继续访问。正常情况下都显示绿色