讲解Elasticsearch中master候选节点以及ES集群脑裂

本文详细解释了Elasticsearch中可能出现的脑裂问题,即集群中存在多个master节点导致数据不一致。脑裂通常由于网络故障造成集群分裂,每个部分独立选举master。为了避免这种情况,设置了discovery.zen.minimum_master_nodes参数,确保只有当足够数量的master候选节点可用时才能选举master。该参数应设置为quorum,即master候选节点数的一半加一,以防止集群分裂。文中通过实例分析了不同节点数设置下的避免脑裂策略,并强调了动态调整该参数的重要性。

一、脑裂分析

在ES中什么是脑裂:

因为ES中master是集群中非常重要的一个角色,主宰了集群状态的维护,以及shard的分配,而如果在一个集群有两个或者多个master的话,会导致一条数据多个master同时进行分配写入数据,导致数据破坏。因此在一个集群必须只有一个master。master是脑,一个脑袋无法裂开,所以叫避免脑裂。

脑裂的产生原由:

如果因为网络的故障,导致一个集群被划分成了两片,每片都有多个node,其中不能跟master节点通讯的node自行选举成一个新的master,那么集群中就出现了两个master了。

二、重要参数:discovery.zen.minimum_master_nodes

discovery.zen.minimum_master_nodes 参数对于集群的可靠性来说,是非常重要的。这个设置可以预防脑裂问题,也就是一个集群中存在两个master。

配置文件中的注释如下:

cat /etc/elasticsearch/elasticsearch.yml
# Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
#
#discovery.zen.minimum_master_nodes: 
#
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值