ElasticSearch第十二讲 ES 集群脑裂问题

ES集群出现脑裂

脑裂这个词,我们肯定不会陌生,在zk集群,mq集群搭建就考虑过这个问题,为保证部署在不同机房的集群始终保证任何时候只会有一个Leader来协调处理问题,当集群其他机器或者主节点出现故障时,保证重新选举出主节点不影响整个系统服务,对数据一致性进行一致性处理。

集群脑裂是什么?
所谓脑裂问题,就是同一个集群中的不同节点,对于集群的状态有了不一样的理解,比如集群中存在两个master
如果因为网络的故障,导致一个集群被划分成了两片,每片都有多个node,以及一个master,那么集群中就出现了两个master了。
但是因为master是集群中非常重要的一个角色,主宰了集群状态的维护,以及shard的分配,因此如果有两个master,可能会导致数据异常。

如下图所示

ElasticSearch第十二讲 ES 集群脑裂问题_第1张图片
节点1在启动时被选举为主节点并保存主分片标记为0P,而节点2保存复制分片标记为0R
现在,如果在两个节点之间的通讯中断了,会发生什么?由于网络问题或只是因为其中一个节点无响应,这是有可能发生的。
ElasticSearch第十二讲 ES 集群脑裂问题_第2张图片
两个节点都相信对方已经挂了。节点1不需要做什么,因为它本来就被选举为主节点。但是节点2会自动选举它自己为主节点,因为它相信集群的一部分没有主节点了。 在elasti

你可能感兴趣的:(ElasticSearch,elasticsearch,大数据,搜索引擎)