对于windows下ElasticSearch-5_0以上版本安装head插件
首先是吐槽下,5.0.x以上版本的ElasticSearch不再支持安装Head插件。对其的安装实现只能通过修改特定的源码才能实现。
部署环境
jdk 1.8以上
ElasticSearch-5.0.0以上
node-v4.5.0-x64.msi
步骤
1.安装node-v4.5.0-x64.msi
1.1 下载node,解压node。node的作用是进行npm命令,自动安装构建(下文会用)
1.2 配置node环境变量,node可以配成 node_home,也可以是配置在path路径里(手贱,配置在这里面!)
1.3 cmd输入 node -v 检查版本,我用的是最新的版本
2.1安装 gunt 工具
注意:路径切到D:\nodejs下。
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.0里的head插件就是通过grunt启动的。因此需要安装grunt:
npm install -g grunt-cli
-g代表全局安装。安装路径为C:\Users\yourname\AppData\Roaming\npm,并且自动加入PATH变量。安装完成后检查一下:
3.1 下载head 插件
有两种方法
第一种是直接下(我反正是这种,你可以说我low,我就嫌弃自动下载,老是出错)
github.com/mobz/elasticsearch-head.git
第二种是直接cmd输入
git clone git://github.com/mobz/elasticsearch-head.git
3.2修改head源码
由于head的代码还是2.6版本的,直接执行有很多限制,比如无法跨机器访问。因此需要用户修改两个地方:
目录:head/Gruntfile.js:
connect: { server: { options: { port: 9100, hostname: '*', base: '.', keepalive: true } } }
增加hostname属性,设置为*
修改连接地址:
目录:head/_site/app.js
修改head的连接地址:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
把localhost修改成你es的服务器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.10.10.10:9200";
运行head
修改elasticsearch的参数
修改一下es使用的参数。编辑config/elasticsearch.yml:
# 随意写集群的名字 cluster.name: es-5.0-test # 换个节点名字 node.name: node-101 # 修改一下ES的监听地址,这样别的机器也可以访问 network.host: 0.0.0.0 # 默认的就好 http.port: 9200 # 增加新的参数,这样head插件可以访问es http.cors.enabled: true http.cors.allow-origin: "*"
注意,设置参数的时候:后面要有空格!
开启ES:
D:\ElasticSearch-5.0.0\bin\elasticsearch.bat
启动效果:
然后在head源码目录中,执行npm install 下载的包:
npm install
最后,在head源代码目录下启动nodejs:
访问localhost:9100
如图所示成功