“ZooKeeper FAQ”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
(建立内容为“如果节点同时启动,那么 leader 就是 myid 大的那个; 如果节点不是同时启动的,那么后启动的节点在加入集群之前,集群…”的新页面)
 
 
(未显示同一用户的5个中间版本)
第1行: 第1行:
如果节点同时启动,那么 leader 就是 myid 大的那个;
+
=== zxid 大的节点作为 Leader ===
 +
现有 ZooKeeper 集群:zk1、zk2、zk3,myid 从小到达,
  
如果节点不是同时启动的,那么后启动的节点在加入集群之前,集群已经选举出了 leader,那么节点在加入集群后就是 follower;
+
zk3 下线,zk2 是 leader,z1 是 follower;
 +
 
 +
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

2022年8月17日 (三) 01:12的最新版本

zxid 大的节点作为 Leader

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

zk3 下线,zk2 是 leader,z1 是 follower;

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