什么是脑裂

如果发生网络中断或者服务器宕机,那么集群会有可能被划分为两个部分,各自有自己的master来管理,那么这就是脑裂。

脑裂解决方案

master主节点要经过多个master节点共同选举后才能成为新的主节点。就跟班级里选班长一样,并不是你1个人能决定的,需要班里半数以上的人决定。
解决实现原理:半数以上的节点同意选举,节点方可成为新的master。

  • discovery.zen.minimum_master_nodes=(N/2)+1
    • N为集群的中master节点的数量,也就是那些 node.master=true 设置的那些服务器节点总数。

      ES 7.X

      在最新版7.x中,minimum_master_node这个参数已经被移除了,这一块内容完全由es自身去管理,这样就避免了脑裂的问题,选举也会非常快。