Назад | Перейти на главную страницу

сервер zookeeper из-за невозможности загрузить базу данных на диск

У нас есть кластер kafka с 3 узлами, каждый kafka включает сервер zookeeper и реестр схем

Мы получаем следующую ошибку на одном из серверов zookeeper

[2019-11-12 07:44:20,719] ERROR Unable to load database on disk (org.apache.zookeeper.server.quorum.QuorumPeer)
java.io.IOException: Unreasonable length = 198238896
               at org.apache.jute.BinaryInputArchive.checkLength(BinaryInputArchive.java:127)
               at org.apache.jute.BinaryInputArchive.readBuffer(BinaryInputArchive.java:92)
               at org.apache.zookeeper.server.persistence.Util.readTxnBytes(Util.java:233)
               at org.apache.zookeeper.server.persistence.FileTxnLog$FileTxnIterator.next(FileTxnLog.java:629)
               at org.apache.zookeeper.server.persistence.FileTxnSnapLog.restore(FileTxnSnapLog.java:166)
               at org.apache.zookeeper.server.ZKDatabase.loadDataBase(ZKDatabase.java:223)
               at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:601)
               at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:591)
               at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:164)
               at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)
               at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)

кажется, что некоторые файлы снимков в папке /opt/confluent/zookeeper/data/version-2 повреждены

в папке version-2 , у нас есть следующие файлы примеров

many files as log.3000667b5
many files as snapshot.200014247
one file - acceptedEpoch
one file – currentEpoch

так что вопрос - как запустить сервер zookeeper

Насколько я понимаю, у нас есть два варианта, но я не уверен в них

1) один вариант - переехать version-2 папку в другое место как version-2_backup и создайте новую папку - version-2 под /opt/confluent/zookeeper/data затем запустите сервер zookeeper и надейтесь, что снимок будет скопирован с другого активного активного сервера zookeeper?

2) второй вариант - возможно переехать version-2 папку в другое место как version-2_backup , создайте новую папку как - version-2 и скопируйте весь контент из version-2 от хорошей машины к плохому серверу zookeeper и version-2 , но я не уверен, что это правильный вариант?