“ZooKeeper FAQ”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第1行: 第1行:
=== myid 大的是 leader ===
+
=== zxid 大的节点作为 Leader ===
 +
现有 ZooKeeper 集群:zk1、zk2、zk3,myid 从小到达,
 +
 
 +
zk3、zk2 依次下线,zk1 开始报错,
 +
 
 +
zk3 恢复,zk1 是 leader,zk3 是 follower。
 +
 
 +
 
 +
=== zxid 相同,myid 大的是 leader ===
 
现有 ZooKeeper 集群:zk1、zk2、zk3,myid 从小到达,
 
现有 ZooKeeper 集群:zk1、zk2、zk3,myid 从小到达,
  
第7行: 第15行:
  
 
stop zk3,zk2 是 leader;
 
stop zk3,zk2 是 leader;
 +
  
 
=== 两个节点起来之后开始进行 leader 的选举 ===
 
=== 两个节点起来之后开始进行 leader 的选举 ===
第12行: 第21行:
  
 
zk1、zk2 起来之后,zk2 是 leader;
 
zk1、zk2 起来之后,zk2 是 leader;
 +
  
 
=== 如果已经有 leader,后加入节点就是 follower ===
 
=== 如果已经有 leader,后加入节点就是 follower ===
第19行: 第29行:
  
 
再启动 zk3,zk1、zk3 是 follower,zk2 仍是 leader
 
再启动 zk3,zk1、zk3 是 follower,zk2 仍是 leader
 
=== 当集群只剩下最后一个节点就开始报错,重新再启动一个节点后集群恢复 ===
 

2022年8月17日 (三) 01:09的版本

zxid 大的节点作为 Leader

现有 ZooKeeper 集群:zk1、zk2、zk3,myid 从小到达,

zk3、zk2 依次下线,zk1 开始报错,

zk3 恢复,zk1 是 leader,zk3 是 follower。


zxid 相同,myid 大的是 leader

现有 ZooKeeper 集群:zk1、zk2、zk3,myid 从小到达,

如果节点同时启动,那么 leader 就是 myid 大的那个

同时启动 zk1、zk2、zk3,zk1 和 zk2 是 follower,zk3 是 leader;

stop zk3,zk2 是 leader;


两个节点起来之后开始进行 leader 的选举

现有 ZooKeeper 集群:zk1、zk2,myid 从小到达,

zk1、zk2 起来之后,zk2 是 leader;


如果已经有 leader,后加入节点就是 follower

现有 ZooKeeper 集群:zk1、zk2、zk3,myid 从小到达,

先启动 zk1、zk2,zk2 是 leader;

再启动 zk3,zk1、zk3 是 follower,zk2 仍是 leader