1.els 在centos上跑,一定不能用root启动,要 useradd es 一个新的用户(记得给els文件夹 chown -R es:es权限哦)
2.els 对系统的软硬件限制,虚拟内存限制有一定要求不然会报错, 报错参考
https://blog.youkuaiyun.com/ghostyusheng/article/details/87201037
3.els 分布式配置通信的时候有不少坑,配置错误会handshack failed, 正确的配置文件如下:
主机地址:172.26.192.107
从机地址:172.26.192.109
主机配置文件:
从机配置文件:
参数解释:
cluster.name 集群名
node.name 节点名称
network.host 当前节点绑定ip地址(一般为服务器当前ip地址)
http.cors* 允许跨域的配置
discovery.zen.ping.unicast.hosts 采用单播进行节点数据交换(相对的还有个多播配置)
如果主从交互成功,并且你配置了elastic search head 可以看到如下结果:
2019年05月10日更新:
1.
以前的配置在6.5可以跑,后来我用7.0配的时候发现报错了
same id but is a different node instance
解决:
删除elsticsearch文件夹下的data文件夹下的节点数据
2.之前的slave机配置,node.master=true,可能是错的,请改成false!
2019年05月20日更新:
以上配置是一个master主结点模式,但是实际线上每个节点都应该当主结点,推荐线上配置如下:
elasticsearch.yml:
# 集群
cluster.name: eng
node.name: master
node.master: true
node.data: true
network.host: 192.168.201.12
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["192.168.201.12", "192.168.201.13", "192.168.201.14", "192.168.201.15"]
discovery.seed_hosts: ["192.168.201.12", "192.168.201.13", "192.168.201.14", "192.168.201.15"]
推荐 jvm.options文件记得改成 -Xms4g -Xmx4g