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

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

У меня есть три сервера в моем кворуме. У них работает zookeeper 3.4.5. Два из них, похоже, работают нормально на основе вывода из "mntr". Один из них был перезапущен пару дней назад из-за развертывания и с тех пор не смог присоединиться к кворуму. Некоторые строки в журналах, которые торчат:

2014-03-03 18: 44: 40,995 [myid: 1] - INFO [main: QuorumPeer @429] - currentEpoch не найден! Создание с разумным значением по умолчанию 0. Это должно произойти только при обновлении вашей установки.

и

2014-03-03 18: 44: 41,233 [myid: 1] - INFO [QuorumPeer [myid = 1]/0.0.0.0:2181:[email protected]] - имеет меньший идентификатор сервера, поэтому отключение соединения: ( 2, 1) 2014-03-03 18: 44: 41,234 [myid: 1] - INFO [QuorumPeer [myid = 1]/0.0.0.0:2181:[email protected]] - имеет меньший идентификатор сервера, поэтому отключение соединения: (3, 1 ) 2014-03-03 18: 44: 41,235 [myid: 1] - INFO [QuorumPeer [myid = 1]/0.0.0.0:2181:[email protected]] - Тайм-аут уведомления: 400

Googling для первого ('currentEpoch not found!') привело меня к этой джире: ссылка. Он описывает исправление ошибки, но не описывает способ решения проблемы без обновления zookeeper.

Googling для второго ( "Иметь меньший идентификатор сервера, так что сбросив соединение" ) привело меня к этой джире: ссылка. Это имеет смысл, потому что я использую AWS Elastic IP для серверов. Исправление этой проблемы, похоже, должно состоять в повторном перезапуске, что приведет к временной потере кворума.

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

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

4b9b3361