我的法定人数中有三台服务器.他们正在运行ZooKeeper 3.4.5.根据输出结果,其中两个似乎运行正常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
Run Code Online (Sandbox Code Playgroud)
和:
2014-03-03 18:44:41,233 [myid:1] - INFO [QuorumPeer[myid=1]/0.0.0.0:2181:QuorumCnxManager@190] - Have smaller server identifier, so dropping the connection: (2, 1)
2014-03-03 18:44:41,234 [myid:1] - INFO [QuorumPeer[myid=1]/0.0.0.0:2181:QuorumCnxManager@190] - Have smaller server identifier, so dropping the connection: (3, 1)
2014-03-03 18:44:41,235 [myid:1] - INFO [QuorumPeer[myid=1]/0.0.0.0:2181:FastLeaderElection@774] - Notification time out: 400
Run Code Online (Sandbox Code Playgroud)
谷歌搜索第一个('currentEpoch not found!')让我去了JIRA ZOOKEEPER-1653 - 由于时代不一致,zookeeper无法启动.它描述了一个错误修复,但没有描述在不升级zookeeper的情况下解决问题的方法.
谷歌搜索第二个('有较小的服务器标识符,所以删除连接')导致我JIRA ZOOKEEPER-1506 - 如果节点连接失败,重新尝试DNS主机名 - > IP解析.这是有道理的,因为我正在为服务器使用AWS弹性IP.这个问题的修复似乎是滚动重启,这会导致我们暂时失去法定人数.
看起来第二个问题肯定在起作用,因为我在尝试连接第一台服务器时看到其他ZooKeeper服务器的日志(仍然在仲裁中)的超时.我不确定的是,当我进行滚动重启时,第一个问题是否会消失.我想避免升级和/或进行滚动重启,但如果我必须进行滚动重启,我想避免多次这样做.有没有办法解决第一个问题而不升级?甚至更好:有没有办法解决这两个问题而不进行滚动重启?
感谢您的阅读和帮助!
| 归档时间: |
|
| 查看次数: |
6141 次 |
| 最近记录: |