zookeeper 在线热迁移

zookeeper 在线扩容

  目标:扩容过程中,zookeeper 集群对外提供服务正常

当前集群状态

    集群由3个节点构成,每个节点的状态如下:

   节点1:角色=follower,myid=1,端口=2181

zookeeper 在线热迁移_第1张图片

节点2:角色=follower,myid=2,端口=2182


zookeeper 在线热迁移_第2张图片

节点3:角色=leader,myid=3,端口=2183


zookeeper 在线热迁移_第3张图片

集群在线扩展

的节点数由3个扩展至5个,新增节点4 、节点5 ,对应的zoo.cfg文件如下:


zookeeper 在线热迁移_第4张图片

节点4:完成相关配置后,启动对应zk实例,确认启动ok,验证实例状态


zookeeper 在线热迁移_第5张图片

节点5:完成相关配置后,启动对应zk实例,确认启动ok,验证实例状态

zookeeper 在线热迁移_第6张图片

在leader节点上查看目前状态同步的follower数,确认新增节点已经成功加入集群


zookeeper 在线热迁移_第7张图片


确认新增节点加入集群后,滚动更新原有集群的配置,并重启,这里需要注意,在重启follwer节点的时候并无任何影响,不过在重启leader节点的时候,这个时候会触发一次新的leader选举,zxid最新的默认优先当选新的leader,当zxid相同,myid最大的优先当选新的leader

滚动重启后,节点5的myid最大,荣升为新的集群leader。

zookeeper集群缩容

   目标:缩容过程中,确保zookeeper集群对外提供服务正常。

集群缩容

  将目前的5个节点缩小至3个,将节点1、节点2 下线,该两个节点都是follower

  更新节点3、4、5的配置,并重启,这里先处理follower角色的节点,follower节点的重启无任何影响;更新leader配置并重启会触发一次leader的重新选举

你可能感兴趣的:(zookeeper 在线热迁移)