es集群节点数和分片数关系_elasticsearch 集群启动流程

es 的集群启动过程要经历选举主节点、主分片、数据恢复等重要阶段,理解其中原理和细节,对于解决或避免集群维护过程中可能遇到的脑裂,无主,恢复慢,丢数据等问题有重要作用。本文基于es 5.5.3版本,以通俗的语言描述流程中的原理和机制。

基于版本:5.5.3

相对于节点启动流程,我们通常更关注集群启动流程,这次不研究细节,说说原理和机制。

集群启动整体流程:

选举主节点

选主是对Bully算法的改进,主要思路是对节点 ID 排序,取最大值做 master,每个节点都运行这个流程。由此产生三个制约条件:

参选人数需要过半,达到quorum后就选出了临时的主。为什么是临时的?每个节点运行排序取最大值的算法,结果不一定相同。举个栗子,集群有5台主机,节点 ID 分别是:1,2,3,4,5.当产生网络分区或者节点启动速度差异较大,节点1 看到的节点列表是:1,2,3,4,选出4;节点2看到的节点列表:2,3,4,5,选出5。结果就不一致了由此产生第二条限制。

得票数须过半。某节点被选为主,须判断加入他的节点数过半,才确认 master 身份。解决第一个问题。

master 节点,当探测到节点离开事件,须判断当前节点数是否过半。如果不到quorum,则放弃 master 身份,重新加入集

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值