1.简介
ElasticSearch-Head跟Kibana一样也是一个针对ElasticSearch集群操作的API的可视化管理工具,它提供了集群管理、数据可视化、增删改查、查询语句等功能,最重要还是它展现ElasticSearch集群的拓扑结构,并且可以通过它来进行索引(Index)和节点(Node)级别的操作。而且ElasticSearch-Head比Kibana对于ElasticSearch数据更能直观查看。
2.前期准备
2.1下载head插件
到GitHub下载页https://github.com/mobz/elasticsearch-head下载插件,如图所示:
2.2下载node.js
因为head插件是使用js开发的前端项目,依赖于node.js,要使用该插件,必须先安装node.js。
转至node.js下载页https://nodejs.org/zh-cn/download/下载,如图所示:
3.head插件部署
3.1检查服务端node.js是否已安装
分别输入命令:
node -v
npm -v
如果显示上述提示,则node.js和npm都没有安装。
3.2创建node.js文件夹并解压其安装包
在用户目录下创建nodejs文件夹,命令如下:
mkdir /home/deng/nodejs
再通过Xftp把之前下载好的node-v12.18.3-linux-x64.tar.xz安装包传输到installpackage中:
然后解压到nodejs文件夹里面,命令如下:
cd /home/deng/nodejs
tar -xvf /home/deng/installpackage/node-v12.18.3-linux-x64.tar.xz
3.3配置环境变量
在配置之前,先切换为root超级管理员权限才可以修改profile文件,输入如下命令配置nodejs环境变量:
vi /etc/profile
再输入如下内容到profile文件当中:
export NODE_HOME=/home/deng/nodejs/node-v12.18.3-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
让配置生效:
source /etc/profile
再分别输入如下命令查看node.js和npm是否已经安装和版本号:
node -v
npm -v
如果有显示版本号,则配置nodejs环境变量成功。
3.4解压head插件
为了好管理维护,我把下载好的head插件解压到elasticsearch文件夹中:
3.5安装grunt
head插件需要安装grunt,而grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动的。执行命令如下:
//先切换到head文件夹目录
cd /home/deng/elasticsearch/elasticsearch-head-master
//安装grunt
npm install -g grunt-cli
//检测是否安装成功,如果执行命令后出现版本号就表明成功
grunt -version
3.6改head配置文件Gruntfile.js
在head的配置文件Gruntfile.js中添加host正则匹配项,具体命令如下:
cd /home/deng/elasticsearch/elasticsearch-head-master
vi Gruntfile.js
编辑内容:
connect: {
server: {
options: {
port: 9100,
base: '.',
keepalive: true,
host: '*' //增加这一行内容
}
}
}
3.7设置ElasticSearch允许跨域访问
进入elasticsearch目录,修改elasticsearch.yml的配置:
vi /home/deng/elasticsearch/elasticsearch-7.8.0/config/elasticsearch.yml
添加如下内容:
# 增加参数,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
然后重启ElasticSearch服务。
3.8启动head插件
先切换到head目录:
cd /home/deng/elasticsearch/elasticsearch-head-master
如果没有安装npm工具,请先安装npm工具(npm是随同Node.js一起安装的包管理工具,能解决Node.js代码部署上的很多问题,具体详情请自行度娘):
npm install
再启动head插件:
grunt server或者npm run start
然后我们会看到如下界面:
显示elasticsearch集群并未连接。因为我虚拟机挂载elasticsearch服务端的,所以输入对应IP地址,即可访问:
Head插件具体功能演示,我在这里就不详细介绍了,需要了解小伙伴们可以自行官网或度娘。
参考文献:
ElasticSearch系列(三)linux环境中安装配置head插件以及使用方法