4

我在 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.
4

2 回答 2

3

基本上你应该有“稳定”的节点。我的意思是您应该拥有始终属于集群的 IP

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

然后,如果您使用自动缩放或添加节点,他们必须与该 ips “对话”以让他们知道他们正在加入集群。

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

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

于 2018-01-08T09:53:35.390 回答
1

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

于 2019-01-23T17:39:41.383 回答