栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Zookeeper选举机制

Zookeeper选举机制

Zookeeper选举机制 概念

SID:服务器ID。用来唯一标识一台Zookeeper集群中的机器,每台机器不能重复,和myid一致。

ZXID:事务ID。用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的ZXID值不一定完全一致,这和Zookeeper服务器对于客户端”更新请求“的处理逻辑有关。

Epoch:每个Leader任期的代号。没有Leader时间同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加。

1. 集群第一次启动

假设Zookeeper集群有5个节点,其节点的myid依次分别为1,2,3,4,5

第一台Zookeeper启动,将自己的一票投给自己,由于自己的票数(1)没有大于集群节点的一半,则第一台Zookeeper进入Looking状态;

第二台Zookeeper启动,将自己的一票投给自己,由于集群中有多台服务器,则第二台与其他的几台(第一台)进行交换选票,最后将所有选票投给myid最大的那台服务器(第二台),由于自己的票数(2)没有大于集群节点的一半,则第二台Zookeeper也进入Looking状态;

第三台Zookeeper启动,将自己的一票投给自己,由于集群中有多台服务器,则第二台与其他的几台(第一台、第二台)进行交换选票,最后将所有选票投给myid最大的那台服务器(第三台),由于自己的票数(3)大于集群节点的一半,则第三台Zookeeper被选举为leader,其余服务器置为follower。

第四台Zookeeper启动,由于集群中已经存在leader,则自动置为follower。

第五台Zookeeper启动,由于集群中已经存在leader,则自动置为follower。

2. 集群非第一次启动

假设Zookeeper集群有5个节点,其节点的myid依次分别为1,2,3,4,5,作为leader的3和follower的5宕机了。则需要进行leader选举。

其中1、2、4的(Epoch,ZXID,SID)分别是

(1,8,1)(1,8,2)(1,7,4)

根据选举Leader规则:

  1. Epoch大的直接选举为leader
  2. Epoch相同,事务id大的选举为leader
  3. 事务id相同,服务器id大的选举为leader

选举 2 为leader

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号