讲一下zookeepe的选举机制

网友投稿 251 2022-09-26

讲一下zookeepe的选举机制

答:

zookeeper的节点数必须为2n+1,也就是奇数个节点,以此来保证选举成功。以5个节点的集群为例,每个zk都有自己的id,叫myid,这里假设我5台服务器zk的myid依次为1-5。

(1)启动myid为1的zk,它会给自己投票,然后发现集群中无其他节点启动,于是它处于looking状态

(2)启动myid为2的zk,它会给自己投票,然后与节点1互换投票,由于节点2的myid大于节点1,所以此次投票节点2胜出,但节点2此时的得票少于总节点数的一半,所以节点2不能被作为master,节点2也将处于looking状态

(3)启动myid为3的zk,它会给自己投票,然后与节点1,2互换投票,由于节点3的myid大于节点2,所以此次投票节点3胜出,节点3的得票数大于节点总数的一半了,此时节点3胜出,成为master节点,其他两个节点成为slaver节点

(4)启动myid为4的zk,尽管节点4的myid最大,但此时已经有主了,节点4也只能乖乖做一个从节点。。。

(5)启动myid为5同上。。。

(6)当有节点挂了之后,开始重新选举,选举规则跟上面类似。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中双大括号初始化的理解与使用
下一篇:基于任务调度的企业级分布式批处理方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~