elasticsearch - ElasticSearch 6.4:在节点重启之前没有主节点重新选举
问题描述
我正在试验一个由两个符合主节点资格的节点(node30,node207)组成的集群,我注意到除非我重新启动非主节点,否则主节点重新选举过程不会开始。
下面是我的节点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"]
这是我的场景:
- 启动两个节点,node30成为主节点。集群运行状况显示集群中的两个节点。
在 node207上禁用 TCP 端口9200/9300。node207日志中存在网络错误。没有主人是可见的。
根据文档 - https://www.elastic.co/guide/en/elasticsearch/reference/6.4/modules-discovery-zen.html - 在 3 次重试后(ping_retries)node207应该选择自己作为新的主人(discovery.zen .minimum_master_nodes 默认为 1)。这永远不会发生。
重启node207。在多次尝试 ping 旧主节点(node30)失败后,它将选择自己作为主节点。
如果不重新启动,就不会发生主重选。
这是预期的行为吗?
解决方案
discovery.zen.minimum_master_nodes 默认为 1
这是一个错误的配置。您必须设置discovery.zen.minimum_master_nodes
为,2
因为您有两个符合主节点资格的节点。
推荐阅读
- python - 服务器初始化隐身
- javascript - 使用 Ajax 和 Jquery 在页面上打印 JSON 布尔值
- asp.net-mvc - Xero API 一般错误处理
- java - 与远程浏览器通信时出错。它可能已经死了。用于火狐浏览器
- asp.net-mvc - MVC Core - 奇怪的视图渲染问题
- android - 性能加起来不是 100%
- angular - *ngIf 和 else 语句不起作用
- scala - scala - for 循环中的 if/else
- python - Python - 使用 iGraph 绘制节点层次结构
- ssas - 如何仅为新事实或更新维度安排 SSAS 多维数据集刷新?