http://blog.youkuaiyun.com/tanga842428/article/details/76161461 (Elasticsearch 集群管理工具head安装)
http://blog.youkuaiyun.com/q15150676766/article/details/76039270 ( ElasticSearch学习Head的安装)
1、环境准备
下载nodejs
nodejs官网下载地址https://nodejs.org/dist/
[root@localhost data]# wget https://nodejs.org/dist/v6.11.2/node-v6.11.2-linux-x64.tar.xz
2、配置node环境变量
[root@node1 data]# xz -d node-v6.11.2-linux-x64.tar.xz
[root@node1 data]# tar -xvf node-v6.11.2-linux-x64.tar -C /usr/local/
[root@node1 data]# cd ~
[root@node1 ~]# ln -s /usr/local/node-v6.11.2-linux-x64/bin/node /usr/bin/node
[root@node1 ~]# ln -s /usr/local/node-v6.11.2-linux-x64/bin/npm /usr/bin/npm
[root@node1 ~]# node -v
v6.11.2
[root@node1 ~]# npm -v
3.10.10
[root@node1 ~]#
或者:
root@node1 data]# vim /etc/profile 添加如下2行
export NODE_HOME=/usr/local/node-v6.11.2-linux-x64
export PATH=$PATH:$NODE_HOME/bin
root@node1 data]# source /etc/profile
[root@node1 data]# node -v
v6.11.2
[root@node1 data]# npm -v
3.10.10
4、安装grunt
如果生产环境无法联网在线安装grunt,可以找一台能联网的主机配置好node,安装好grunt后将elasticsearch-head目录下的node_models打包上传
[root@node1 ~]# npm install -g grunt-cli #执行命令后显示如下:
/usr/local/node-v6.11.2-linux-x64/bin/grunt -> /usr/local/node-v6.11.2-linux-x64/lib/node_modules/grunt-cli/bin/grunt
/usr/local/node-v6.11.2-linux-x64/lib
└─┬ grunt-cli@1.2.0
├─┬ findup-sync@0.3.0
│ └─┬ glob@5.0.15
│ ├─┬ inflight@1.0.6
│ │ └── wrappy@1.0.2
│ ├── inherits@2.0.3
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.8
│ │ ├── balanced-match@1.0.0
│ │ └── concat-map@0.0.1
│ ├── once@1.4.0
│ └── path-is-absolute@1.0.1
├── grunt-known-options@1.1.0
├─┬ nopt@3.0.6
│ └── abbrev@1.1.0
└── resolve@1.1.7
再关联下grunt
[root@node1 ~]# ln -s /usr/local/node-v6.9.5-linux-x64/lib/node_modules/grunt-cli/bin/grunt /usr/bin/grunt
grunt是一个方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.x里的head插件就是通过grunt启动的;
#”-g”参数代表全局安装,一般安装到nodejs的”lib/node_modules”目录下;不带参数”-g”,则是本地安装,一般安装到运行npm命令时所在的目录,这里就需要安装到head插件目录;
#为grunt命令建软链接,方便全局执行,或加入环境变量;;
#如果镜像速度不理想,可提前切到国内的镜像,在安装grunt-cli前执行:npm config set registry https://registry.npm.taobao.org。
5、 下载elasticsearch-head
[root@node1 ~]# cd /usr/local
[root@node1 local]# git clone git://github.com/mobz/elasticsearch-head.git
[root@node1 local]# cd elasticsearch-head/
[root@node1 elasticsearch-head]# npm install
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
发现有3个警告信息,忽略即可,其中“npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression”警告信息可做如下处理:http://www.itdadao.com/articles/c15a1031952p0.html
即修改”./ elasticsearch-head”目录下“package.json”文件第19行的”"Apache2" “为"Apache-2.0",涉及到开源软件与其他合作类软件的使用声明。
#如果没有全局安装grunt二进制程序,可在”elasticsearch-head”目录下执行”npm install grunt --save“ 或 ”npm install grunt-cli“。
6、配置head文件
[root@node1 elasticsearch-head]# cd _site/
[root@node1 _site]# cp app.js app.js.bak
[root@node1 _site]# vim app.js
#在4330行将原"http://localhost:9200"修改为"http://10.129.11.86:9200",否则head插件不能获取节点状态信息。
[root@node1 elasticsearch-head]# cp Gruntfile.js Gruntfile.js.bak
[root@node1 elasticsearch-head]# vim Gruntfile.js
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
}
# 在93行新增”hostname: '0.0.0.0', “,确保能被访问。
7、重启elasticsearch,并启动node 且验证,
[root@node1 elasticsearch-head]# nohup node_modules/grunt/bin/grunt server &exit
#启动head插件,需要到elasticsearch-head目录下
如果想关闭head插件,使用Linux查找进程命令:
ps aux|grep head
结束进程:
kill 进程号