我们有5个节点 ( A,B,C,D,E )
在生产运行中,上周有1个节点宕机 ( E )
. 法定人数是健康的,但我们需要更换 ( E )
新的健康节点 ( F )
我在两种选择之间折腾
1. add ( F ) to the quorum and then remove ( E )
2. replace ( F ) with ( E ) restart followers and then restart leader
我测试了选项2,我看到了 ( F )
在领导层被强制(通过重新启动领导层)后被法定人数接受
法定人数是健康的,但我只是想确定这是否是标准程序
我没有找到任何关于这个版本的节点替换的apache文档
ZK Version : 3.4.6
2条答案
按热度按时间g6baxovj1#
如果在您的示例中,节点f可以被调出与失败节点e具有相同的ip*和id(作为myid文件写入zookeeper数据),那么不需要进一步的操作。新节点f最初将没有数据,但它将从其他可用节点接收最新数据。我已经用zookeeper版本3.4.10进行了验证。
noj0wjuj2#
是的,对于3.5.之前的版本,zk集群的重新配置需要在确保更新配置以用新节点替换旧节点后协调重新启动,以便新节点可以加入quorom并删除旧节点。我发现这个要点很有用。
一般来说,对于升级,建议使用滚动重新启动-参考apache链接。
如果可能的话,我建议您考虑升级到3.5版本,在这个版本中,动态重新配置是不需要重启的。