elasticsearch-head插件介绍
elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作。你可以通过插件把它集成到elasticsearch(5.0版本后不支持此方式),也可以安装成一个独立webapp。elasticsearch-head插件是使用JavaScript开发的,依赖Node.js库,使用Grunt工具构建,所以等会我们要安装elasticsearch-head,还需要先安装Node.js和Grunt。
elasticsearch-head主要的作用有以下这些方面:
-
显示集群的拓扑,并且能够执行索引和节点级别操作
-
搜索接口能够查询集群中原始json或表格格式的检索数据
-
能够快速访问并显示集群的状态
-
有一个输入窗口,允许任意调用RESTful API。这个接口包含几个选项,可以组合在一起以产生不同的结果;
-
请求方法(get、put、post、delete),查询json数据,节点和路径
-
支持JSON验证器
-
支持重复请求计时器
-
支持使用javascript表达式变换结果
安装步骤 安装node.js 请自行百度 安装elasticsearch-head插件
1、下载elasticsearch-head
下载地址:https://github.com/mobz/elasticsearch-head把源码下载下来,下载的包名为:elasticsearch-head-master.zip,然后上传到Linux主机上。
2、解压elasticsearch-head源码包
unzip elasticsearch-head-master.zip
mv elasticsearch-head-master /usr/local/es-head
注意: windows 系统方法一样
3、安装grunt工具
cd /usr/local/es-head #进入elasticsearch-head插件的源码目录
npm install -g grunt --registry=https://registry.npm.taobao.org #安装grunt工具,由于在国内连接国外的镜像速度奇慢无比,所以我们使用了国内taobao的镜像。
4、编译elasticsearch-head源码
npm install #使用npm编译es-head源码,但是建议大家不要用这个这种方式安装,因为使用npm编译源码会下载很多依赖,这些依赖默认到国外镜像下载,所以速度会很慢,看下面的命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org #安装cnpm,这是链接中国的镜像
cnpm install #使用cnpm代替npm编译es-head源码
编译好后es-head根目录下会出现一个叫node_modules的目录,该目录就是存放源码编译后的可执行文件。
那到现在我们已经把elasticsearch-head插件和它的依赖都安装好了,那接下来我们就要对他的
配置进行修改,准备运行
设置插件管理界面跨主机访问
插件默认是只有本机的IP才能访问的,也就是127.0.0.1,这样我们就无法跨主机访问head 插件的管理界面,所以需要把它改成所有IP地址都能访问。修改 elasticsearch-head 目录下的 Gruntfile.js 文件,在 options 属性内增加 hostname,设置为 0.0.0.0。
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
}
注意:要把主机防火墙9100的端口打开
elasticsearch配置允许跨域访问
进入elasticsearch存放配置文件的目录
vi elasticsearch.yml #编辑elasticsearch配置文件
在该配置文件中最末尾添加两个属性:
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"
修改完配置 需要重启elasticsearch
运行head插件
先进入到head插件的安装目录根目录
grunt server
#使用刚刚安装的grunt工具运行head插件
如果能打印以下的信息,那就说明head插件安装并运行成功,并且我们通过打印信息看到,它告诉我们可以通过localhost:9100访问web服务
F:\nodejs\elasticsearch-head-master>grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
也可运行npm run start
来启动