一:head插件的部署
一般国内都是用以下两种方式进行这个集群可视化插件的部署
Browser install
-
Google
可以用chrome shop中的elasticsearch-head.crx,打开浏览器,进入“更多工具”——>“扩展程序”,将插件拖入即可完成安装 -
360
打开浏览器,双击elasticsearch-head.crx插件即可完成安装
Linux install
这里可以看下这票博客,写的很详细,按部就班就可以安装成功。这里需要注意下,由于elasticsearch-head插件是由nodejs语言编写,所以安装elasticsearch-head前需要先安装nodejs和grunt。
老茶菜鸟的博客:
https://blog.csdn.net/sqandczm/article/details/89282593
二:启动ES集群遇到的问题
1:Caused by: java.lang.RuntimeException: can not run elasticsearch as root
这个问题很基础,ES不能用root账号登陆启动,需要useradd一个用户,完成passwd [user],最后还要vim /etc/sudoers,为用户赋予sudo权限,文件末尾添加即可
demouser ALL=(ALL) ALL
2: found existing node with the same id but is a different node instance
这个问题一般是在搭建集群时,你部署完master后,将所有的文件目录scp或者用xsync、rsync给同步分发过去时,ES文件下的data目录下的nodes信息也给同步过去了,导致id相同,但是节点实例相冲突。
解决办法:同步过去所有ES文件时,在新的节点里rm -r /es/data/nodes即可
3: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因: ES用户拥有的内存权限太少
解决办法:
su root
vi /etc/sysctl.conf
在 /etc/sysctl.conf最后添加一行配置
vm.max_map_count=262144
最后再使配置生效,重新启动es即可
sysctl -p
4: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决办法:
sudo vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
* soft nofile 4096
#修改为
* soft nofile 65536
5:max number of threads [2048] for user [gaofeng] likely too low, increase to at least [4096]
解决办法:
sudo vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
* soft nproc 2048
#修改为
* soft nproc 4096
最后集群启动成功
三:head插件连接ES集群显示未连接
安装完elasticsearch-head插件后想要登陆head 的操作界面,需要
启动ES集群:在所有节点中bin/elasticsearch
启动ES-head插件:在安装了head插件的主节点上进入head目录npm run start
启动完毕
前台输入上面截图中的地址http://localhost:9100进入head插件前台操作界面,如下图
发现点击连接集群(bigdata121master)时,集群健康值:未连接
问题原因:
点击按钮时可以看F12中请求方法不是GET也不是POST,而是OPTION请求,产生了跨域的问题
解决办法:
vi es/config/elasticsearch.yml
在集群中每个节点的es配置文件中添加http属性
http.cors.enabled: true
http.cors.allow-origin: "*"
保存文件后重启集群中每个节点主机
修改完配置,head插件完美连接集群
(麻烦看客小哥哥,小姐姐点个赞吧,谢谢~~)