Zookeeper
zookeeper文件目录
bin
conf
zoo.cfg配置文件
myzkData
myid身份标志
…等等
选举机制
出现以下情况会进入leader选举
- 服务器
初始化 启动 - 服务器运行期间无法和
Leader 保持连接
每个zookeeper服务器都具有的东西
1)服务器初始化启动
选票都给myid最大 的那个,选出了leader后,后面进来的zookeeper只能成为follower
2)服务器运行期间无法和Leader保持连接
当服务器运行期间无法与Leader保持连接后,无论是当前服务器出错了还是leader出错了,当前服务器都会认为是leader出错而发起选举。这个时候就会出现两种情况
-
集群中本来就已经存在一个Leader
机器试图去选举Leader时,会被告知当前服务器的Leader信息,对于该机器来说,仅仅需要和Leader机器建立连接,并进行状态同步即可。
-
集群中确实不存在Leader
选举Leader规则: ①EPOCH大的直接胜出 ②EPOCH相同,事务id大的胜出 ③事务id相同,服务器id大的胜出
大的直接胜出 ②EPOCH相同,事务id大的胜出 ③事务id相同,服务器id大的胜出
|