Почему мой сервер Zookeeper не может присоединиться к Кворуму?

В моем кворуме три сервера. Они работают 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

а также:

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

Поиск в Google в первый раз («текущая эпоха не найдена!») Привел меня к JIRAZOOKEEPER-1653 - zookeeper не запускается из-за несовместимой эпохи, Он описывает исправление ошибки, но не описывает способ решения проблемы без обновления zookeeper.

Погуглив секунду («Иметь меньший идентификатор сервера, поэтому разорвите соединение») привело меня к JIRAZOOKEEPER-1506 - повторите попытку DNS-имя хоста -> IP-разрешение, если соединение с узлом не удается, Это имеет смысл, потому что я использую AWS Elastic IP для серверов. Решение этой проблемы, по-видимому, заключается в повторном перезапуске, в результате которого мы временно теряем кворум.

Похоже, что вторая проблема определенно в игре, потому что я вижу тайм-ауты в журналах другого сервера ZooKeeper (те, которые все еще в кворуме) при попытке подключиться к первому серверу. В чем я не уверен, так это в том, что первая проблема исчезнет, ​​когда я перезагружусь. Я хотел бы избежать обновления и / или повторного перезапуска, но если мне нужно выполнить повторный перезапуск, я бы хотел избежать этого несколько раз. Есть ли способ исправить первую проблему без обновления? Или даже лучше: есть ли способ решить обе проблемы без повторного запуска?

Спасибо за чтение и за вашу помощь!

Ответы на вопрос(0)

Ваш ответ на вопрос