如何在Elasticsearch 6.1中设置自动搜索节点

时间:2018-01-08 09:45:36

标签: elasticsearch elasticsearch-6

我在ES 6.1中创建了5个节点的集群。当我将其他节点的所有IP地址添加到配置文件elasticsearch.yaml中作为discovery.zen.ping.unicast.hosts时,我能够创建集群。它看起来像这样:

discovery.zen.ping.unicast.hosts: ["10.206.81.241","10.206.81.238","10.206.81.237","10.206.81.239"]

当我在配置文件中有这一行时,一切运行良好。

ip            heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.206.81.241            9          54   0    0.03    0.05     0.05 mi        *      master4
10.206.81.239           10          54   0    0.00    0.01     0.05 mi        -      master1
10.206.81.238           14          54   0    0.00    0.01     0.05 mi        -      master3
10.206.81.240           15          54   0    0.00    0.01     0.05 mi        -      master5
10.206.81.237           10          54   0    0.00    0.01     0.05 mi        -      master2

当我添加discovery.zen.ping.multicast.enabled: true时,弹性搜索将无法启动。

我想拥有更多节点,如果我必须单独配置每个文件并且每次都为每个配置添加新地址,那么这是不正确的方法。那么有什么方法可以设置ES6来自动查找新节点吗?

编辑:

journalctl -f输出:

led 08 10:43:04 elk-prod3.user.dc.company.local polkitd[548]: Registered Authentication Agent for unix-process:23395:23676999 (system bus name :1.162 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
led 08 10:43:04 elk-prod3.user.dc.company.local systemd[1]: Stopping Elasticsearch...
led 08 10:43:04 elk-prod3.user.dc.company.local systemd[1]: Started Elasticsearch.
led 08 10:43:04 elk-prod3.user.dc.company.local systemd[1]: Starting Elasticsearch...
led 08 10:43:04 elk-prod3.user.dc.company.local polkitd[548]: Unregistered Authentication Agent for unix-process:23395:23676999 (system bus name :1.162, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
led 08 10:43:07 elk-prod3.user.dc.company.local systemd[1]: elasticsearch.service: main process exited, code=exited, status=1/FAILURE
led 08 10:43:07 elk-prod3.user.dc.company.local systemd[1]: Unit elasticsearch.service entered failed state.
led 08 10:43:07 elk-prod3.user.dc.company.local systemd[1]: elasticsearch.service failed.

2 个答案:

答案 0 :(得分:1)

基本上你应该有"稳定"节点。我的意思是你应该拥有永远属于集群的IP

discovery.zen.ping.unicast.hosts: [MASTER_NODE_IP_OR_DNS, MASTER2_NODE_IP_OR_DNS, MASTER3_NODE_IP_OR_DNS]

然后,如果你使用自动缩放或添加节点,他们必须" talk"那个ips让他们知道他们正在加入集群。

您还没有提到有关您的网络设置的任何内容,所以我可以肯定地说您出了什么问题。但我记得推荐单播主机方法

PS。如果您使用的是azure,则会有一个名为VM scaleset的功能,我根据需要修改了template。想法是默认情况下我总是使用3个节点,如果我的集群被加载,则scale set将动态添加更多节点。

答案 1 :(得分:1)

discovery.zen.ping.multicast已从elasticsearch中删除,请参阅:https://www.elastic.co/guide/en/elasticsearch/plugins/6.1/discovery-multicast.html