首页 > 其他 > 详细

ElasticSearch集群脑裂现象

时间:2020-07-19 00:05:44      阅读:252      评论:0      收藏:0      [点我收藏+]

1、什么是脑裂

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

假设ES集群,刚开始服务器1是主节点,其它两台为从节点

技术分享图片

 

然后假设Master受到影响,挂机了。此时假设服务器2成为主节点,服务器2和服务器3成为一个新的集群。

接着服务器1恢复了,它有可能不会成为Slave,不会加入到原先的集群,这样相当于服务器被割裂开来,如下图所示。

技术分享图片

 

 为什么会出现上面的情况?

因为ES有最小投票人数,默认是1。服务器1恢复后,自己给自己投票,就能成为master。就有2个集群了。 对于ES集群来说,这时候不可能有两个集群的,服务器1所在的集群数据是不完整的。

 

 

2、如何解决脑裂问题

master主节点要经过多个master节点共同选举后才能成为新的主节点

解决实现原理:半数以上节点同意选举,节点方可能成为master

discovery.zen.minimum_master_nodes = (N/2 + 1)   N并不代表所有的ES节点数,配置了node.master=true的所有节点数。

老版本可能出现脑裂的问题。

在最新版7.x中,我们现在使用的版本7.4.2 ,这一块的内容已经交个ES自身管理,discovery.zen.minimum_master_nodes属性已经被移除。这样就避免了脑裂的问题,选举也非常快。

 

ElasticSearch集群脑裂现象

原文:https://www.cnblogs.com/linlf03/p/13337872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!