Zookeeper: java .io.IOException: моментальный снимок не найден, но есть записи в журнале. Что-то сломано - PullRequest
8 голосов
/ 11 января 2020

Я работал с Kafka 2.4.0 (2.11) и вчера мне пришлось принудительно прекратить процесс по неизвестной причине. С тех пор я не смог запустить Zookeeper из-за следующей ошибки:

[2020-01-11 11:12:43,783] ERROR Unexpected exception, exiting abnormally (org.apache.zookeeper.server.ZooKeeperServerMain)
java.io.IOException: No snapshot found, but there are log entries. Something is broken!
    at org.apache.zookeeper.server.persistence.FileTxnSnapLog.restore(FileTxnSnapLog.java:222)
    at org.apache.zookeeper.server.ZKDatabase.loadDataBase(ZKDatabase.java:240)
    at org.apache.zookeeper.server.ZooKeeperServer.loadData(ZooKeeperServer.java:290)
    at org.apache.zookeeper.server.ZooKeeperServer.startdata(ZooKeeperServer.java:450)
    at org.apache.zookeeper.server.NIOServerCnxnFactory.startup(NIOServerCnxnFactory.java:764)
    at org.apache.zookeeper.server.ServerCnxnFactory.startup(ServerCnxnFactory.java:98)
    at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:144)
    at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:106)
    at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:64)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:128)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)

И как только я искал эту проблему, я обнаружил проблему ZOOKEEPER-3513 , которая может или не может объяснить проблему. Однако, что я нахожу странным, так это то, что, если я удаляю каталог Kafka / Zookeeper и загружаю его снова с нуля, проблема остается. Кто-нибудь знает, как я могу решить эту проблему?

Спасибо за вашу помощь

Ответы [ 4 ]

5 голосов
/ 21 января 2020

Проверьте наличие папки tmp / zookeeper на диске, где находится папка kafka (скажем, D: /), и удалите папку tmp, которая автоматически создастся для вас при повторном запуске zookeeper.

3 голосов
/ 09 марта 2020

Я столкнулся с той же проблемой с Zookeeper после обновления с версии 3.4.x до 3.5.6. Как описано здесь . Я:

  1. добавил пустой файл snapshot.0 в каталог данных
  2. добавил свойство 'zookeeper.snapshot.trust.empty = true' в файл конфигурации Zookeeper (по умолчанию zoo .cfg)
0 голосов
/ 21 января 2020

если вы находитесь на windows, убедитесь, что вы экранировали местоположение временного каталога zookeeper.

dataDir = d: \ tmp \ zookeeper

0 голосов
/ 11 января 2020

Попробуйте изменить каталог данных zookeeper. Ваш каталог данных zookeeper определен в zookeeper.properties (я думаю, по умолчанию используется /tmp/zookeeper).

Возможно, вы не удаляете правильный каталог zookeeper?

У меня была такая же проблема, и это решение сработало.

ПРИМЕЧАНИЕ. Я экспериментирую с Кафкой, а не использую ее в производстве. Я понятия не имею, что еще делает выше, кроме исправления этой ошибки ...

...