elasticsearch master节点选举

Es主节点的选取方式主要参考bully算法(对节点Id排序取最大值)以及paxos算法(少数服从多数),选举步骤如下
1.临时master节点的选举
不同与zk中的master选举,es的master选举不需要知道哪个节点的数据是最新的,先选举出master节点,再将最新的集群和索引数据同步到master节点。
所有节点首先列出所有已知节点的Id,选取id最小的节点并向该节点发起master节点投票(其中只有master角色的节点投票有效),当该节点接收投票数量达到
discovery.zen.minimum_master_nodes(为避免脑裂,通常是master角色的节点数量的半数以上,即n/2+1)时,该节点成为临时master节点,此时拒绝其它节点的投票。
2.master节点选举
所有节点向master节点发送加入请求,当达到满足数量要求的节点加入后,该节点成功成为master节点,否则重新选举
3.主节点选举成功
主节点选举成功后,同步集群信息以及索引信息,并选举恢复主shard(按照索引和shard纬度分别遍历)和恢复副本shard(通过copy主shard和同步translog保证一致性)

如果是2个节点的集群:discovery.zen.minimum_master_nodes=2,挂了一个节点,那么不会出现新的master ;discovery.zen.minimum_master_nodes=1,出现分区,那么会有两个master节点,因此es保证高可用的节点数量最小为3,且每个副本能保证挂掉相应数量的节点数后的可用性。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值