学科分类
目录
Hadoop技术栈

选举机制的简介

Zookeeper为了保证各节点的协同工作,在工作时需要一个Leader角色,而Zookeeper默认采用FastLeaderElection算法,且投票数大于半数则胜出的机制,再介绍选举机制前,首先了解选举涉及的相关概念。

1.服务器ID

这是在配置集群时设置的myid参数文件,且参数分别表示为服务器1、服务器2、服务器3,编号越大在FastLeaderElection算法中的权重越大。

2.选举状态

在选举过程中,Zookeeper服务器有四种状态,它们分别为竞选状态(LOOKING)、随从状态(FOLLOWING,同步leader状态,参与投票)、观察状态(OBSERVING,同步leader状态,不参与投票)、领导者状态(LEADING)。

3.数据ID

是服务器中存放的最新数据版本号,该值越大则说明数据越新,在选举过程中数据越新权重越大。

4.逻辑时钟

通俗的讲,逻辑时钟被称为投票次数,同一轮投票过程中的逻辑时钟值是相同的,逻辑时钟起始值为0,每投完一次票,这个数据就会增加。然后,与接收到其它服务器返回的投票信息中的数值相比较,根据不同的值做出不同的判断。如果某台机器宕机,那么这台机器不会参与投票,因此逻辑时钟也会比其他的低。

点击此处
隐藏目录