ES集群出现脑裂
脑裂这个词,我们肯定不会陌生,在zk集群,mq集群搭建就考虑过这个问题,为保证部署在不同机房的集群始终保证任何时候只会有一个Leader来协调处理问题,当集群其他机器或者主节点出现故障时,保证重新选举出主节点不影响整个系统服务,对数据一致性进行一致性处理。
集群脑裂是什么?
所谓脑裂问题,就是同一个集群中的不同节点,对于集群的状态有了不一样的理解,比如集群中存在两个master
如果因为网络的故障,导致一个集群被划分成了两片,每片都有多个node,以及一个master,那么集群中就出现了两个master了。
但是因为master是集群中非常重要的一个角色,主宰了集群状态的维护,以及shard的分配,因此如果有两个master,可能会导致数据异常。
如下图所示

节点1在启动时被选举为主节点并保存主分片标记为0P,而节点2保存复制分片标记为0R
现在,如果在两个节点之间的通讯中断了,会发生什么?由于网络问题或只是因为其中一个节点无响应,这是有可能发生的。

两个节点都相信对方已经挂了。节点1不需要做什么,因为它本来就被选举为主节点。但是节点2会自动
本文探讨了ElasticSearch集群中的脑裂问题,解释了脑裂现象及其原因,详细介绍了如何通过设置`discovery.zen.minimum_master_nodes`参数来避免这种情况,强调至少需要3个节点且该参数设为quorum以确保集群稳定性。
订阅专栏 解锁全文
1127

被折叠的 条评论
为什么被折叠?



