可能由于网络波动等原因,ES的主节点未能成功响应其他节点信息,导致集群认为他出了故障,经过默认的失效监听时间后没有重连,就会自动选取一个新的主节点.
脑裂的问题只能提前预防
比如:
设置单数的投票机制.
在集群规模有一定数量的情况下,不需要把master和data设置为同一个节点.
- 何为脑裂:双主或多主
- 解决办法:discovery.zen.minimum_master_nodes=N/2+1,N为有效投票节点数。
选举权的节点一定要是单数的,比如3个节点的集群 需要2票 就是 3/2 + 1 = 2
4个节点的集群,一个集群有4台备选节点的情况:丢失一台机器是可以容忍的,一半就不行.
4个节点的集群,一个集群有3台备选节点的情况:丢失一台或者一半机器都是可以容忍的.