欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

zookeeper3.4.5升级到3.4.14同时选举节点缩容或迁移

程序员文章站 2022-07-09 13:24:32
...

兼容性问题

        理论上小版本升级只是修改bug,不存在兼容性问题,但是涉及到线上应用难免有些担心。测试后证明是兼容的,已经将线上服务器从3.4.x统一升级到3.4.14。

 

本文所说的缩容是指减少选举节点数量,将选举节点改成观察者节点。

原则:

       1、每次缩容的节点数必须是选举节点总数的一小半;

       2、缩容操作时,修改顺序:

         a 重启观察者节点。因为不影响选举,可以尽早改成最终配置,减少重启次数,但是不论何时修改,都一定要包含leader节点,否则没法同步数据。

         b 重启普通选举节点(非缩容的目标节点、非leader节点)

         c 重启被缩容的节点

         d 重启leader节点

      3、以上步骤能一次性解决问题最好,不行的话,多重复几次。

 

选举节点迁移

       操作说明:是指用新的选举节点替换原来的选举节点,原来的选举节点变成观察者节点或停掉

       方案:先加节点然后再删节点。加的节点数量要小于现有节点数量,否则加不进去。 加的操作比较简单,只是注意最后重启leader节点即可,缩容的步骤同上,缩的节点数小于等于加的节点数,也要小于当前选举节点总数的一小半。

        重启原则:滚动重启,尽量少触发选主

        重启顺序:新节点、观察者节点、普通选举节点、停掉或重启改变类型的选举节点、leader节点

        小技巧:观察者节点因为不影响选举结果,所以可以在第二轮的时候提前改成最终配置,这样第三轮就能少重启一次。

     

      参考: 

  5节点的迁移 3节点的迁移 备注
第一轮 5+4 -> 9    3+2 -> 5

1、先修改观察者节点(下同)

2、新加入的节点数必须小于现有节点数

第二轮 9+1-3 -> 7  5+1-1 -> 5 选举节点改变。先变其他节点,再先加后减,最后变换leader
第三轮 7-2 -> 5 5-2 -> 3 1、先变其他节点,再变缩容节点,最后变leader

 

相关标签: zookeeper