我的法定人数中有三台服务器。他们正在运行ZooKeeper 3.4.5。根据{{1}}的输出,其中两个似乎运行正常。其中一个由于部署而在几天前重新启动,从那时起就无法加入法定人数。日志中突出显示的一些行是:
mntr
和
2014-03-03 18:44:40,995 [myid:1] - INFO [main:QuorumPeer@429] - currentEpoch not found! Creating with a reasonable default of 0. This should only happen when you are upgrading your installation
谷歌搜索第一个('currentEpoch not found!')让我去了JIRA ZOOKEEPER-1653 - zookeeper fails to start because of inconsistent epoch。它描述了一个错误修复,但没有描述在不升级zookeeper的情况下解决问题的方法。
谷歌搜索第二个('拥有较小的服务器标识符,因此删除连接')让我进入了JIRA ZOOKEEPER-1506 - Re-try DNS hostname -> IP resolution if node connection fails。这是有道理的,因为我正在为服务器使用AWS弹性IP。这个问题的解决办法似乎是滚动重启,这会导致我们暂时失去法定人数。
看起来第二个问题肯定在起作用,因为我在尝试连接到第一台服务器时看到其他ZooKeeper服务器日志(仍在仲裁中)的日期超时。我不确定的是,当我进行滚动重启时,第一个问题是否会消失。我想避免升级和/或进行滚动重启,但如果我必须进行滚动重启,我想避免多次这样做。有没有办法解决第一个问题而不升级?甚至更好:有没有办法解决这两个问题而不进行滚动重启?
感谢阅读和帮助!
答案 0 :(得分:0)
这是动物园管理员的错误:Server is unable to join quorum after connection broken to other peers 重新启动领导者即可解决此问题。