Zookeeper:java.io.IOException:未找到快照,但有日志条目。东西坏了

Joã*_*tos 25 apache-kafka apache-zookeeper

我一直在使用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)
Run Code Online (Sandbox Code Playgroud)

一旦我搜索了这个问题,我就发现了ZOOKEEPER-3513报告的问题,这可能会也可能不会解释问题。但是,我发现奇怪的是,如果我删除 Kafka/Zookeeper 目录并从头开始重新下载,问题仍然存在。有谁知道我该如何解决这个问题?

感谢您的帮助

小智 47

检查您拥有 kafka 文件夹的驱动器上的tmp/zookeeper文件夹(比如 D:/),然后删除文件夹 tmp,它会在再次运行 zookeeper 时自动为您创建。

  • 这对我有用,在 Linux 中我使用: rm -rf /tmp/zookeeper/* (7认同)

小智 13


在Windows上->

进入存储zookeeper详细信息的tmp文件夹并删除现有的日志文件

目录路径 = d:\tmp\zookeeper\version-2


在Linux上->

路径 = /tmp/zookeeper/version-2

并使用rm -r log.1删除所有现有日志文件

日志文件将再次自动创建并解决问题。



小智 6

从版本 3.4.x 更新到 3.5.6 后,我遇到了与 Zookeeper 相同的问题。如上所述这里。我有:

  1. 在数据目录中添加了空的 snapshot.0 文件
  2. 向 Zookeeper 配置文件添加了一个属性“zookeeper.snapshot.trust.empty=true”(默认为 zoo.cfg)


som*_*y99 5

尝试更改您的 zookeeper 数据目录。您的zookeeper 数据目录在zookeeper.properties 中定义(我认为默认是/tmp/zookeeper)。

也许您没有删除正确的 zookeeper 目录?

我遇到了同样的问题,这个解决方案奏效了。

注意:我正在试验 Kafka,并没有在生产中使用它。除了修复这个错误,我不知道上面还有什么...