首页 > 解决方案 > ElasticSearch 6.4:在节点重启之前没有主节点重新选举

问题描述

我正在试验一个由两个符合主节点资格的节点(node30node207)组成的集群,我注意到除非我重新启动非主节点,否则主节点重新选举过程不会开始。

下面是我的节点elasticsearch.yml(第二个节点 - node207 - 有一个类似的节点,只有不同的 node.name):

    network.host: 0.0.0.0
    cluster.name: mycluster
    node.name: node30
    discovery.zen.no_master_block: all
    discovery.zen.ping.unicast.hosts: ["node30", "node207"]

这是我的场景:

  1. 启动两个节点,node30成为主节点。集群运行状况显示集群中的两个节点。
  2. 在 node207上禁用 TCP 端口9200/9300node207日志中存在网络错误。没有主人是可见的。

    根据文档 - https://www.elastic.co/guide/en/elasticsearch/reference/6.4/modules-discovery-zen.html - 在 3 次重试后(ping_retries)node207应该选择自己作为新的主人(discovery.zen .minimum_master_nodes 默认为 1)。这永远不会发生。

  3. 重启node207。在多次尝试 ping 旧主节点(node30)失败后,它将选择自己作为主节点。

如果不重新启动,就不会发生主重选。

这是预期的行为吗?

标签: elasticsearch

解决方案


discovery.zen.minimum_master_nodes 默认为 1

这是一个错误的配置。您必须设置discovery.zen.minimum_master_nodes为,2因为您有两个符合主节点资格的节点。


推荐阅读