Zookeeper的选举机制:
- 半数机制:集群中半数以上机器存活,集群可用。(Zookeeper通常情况安装奇数台服务器)
- 在Zookeeper的配置文件中没有指定leader和follower
- Zookeeper中的leader是通过Zookeeper内部的选举机制临时产生,产生的该节点为leader,其余为follower
选举原理:(以五台服务器为例)
- 服务器1先投票,首先将票投给自己,自己投票后发现自己的票数没有过半,无法成为leader,然后将自身票数转移给下一台服务器(服务器2)
- 服务器2先将自己的一票投给自己,投票后发现自己票数没有过半,无法成为leader,然后将自己所有票数转移给下一台服务器(服务器3)
- 服务器3先将自己的一票投给自己,投票后发现自己票数过半,成为leader,不在进行票数转移
- 剩下的服务器将自己的票都投给自己,仍然无法过半,然后承认服务器3为leader