【问题标题】:Snapshot directory has log files. Check if dataLogDir and dataDir configuration is correct. + Zookeeper startup快照目录有日志文件。检查 dataLogDir 和 dataDir 配置是否正确。 + Zookeeper 启动
【发布时间】:2020-08-28 06:50:45
【问题描述】:

每当我启动我的 zookeeper 服务器时,我都会收到以下错误。

[2020-05-12 08:11:43,510] ERROR Unexpected exception, exiting abnormally (org.apache.zookeeper.server.quorum.QuorumPeerMain)
org.apache.zookeeper.server.persistence.FileTxnSnapLog$SnapDirContentCheckException: Snapshot directory has log files. Check if dataLogDir and dataDir configuration is correct.
        at org.apache.zookeeper.server.persistence.FileTxnSnapLog.checkSnapDir(FileTxnSnapLog.java:140)
        at org.apache.zookeeper.server.persistence.FileTxnSnapLog.<init>(FileTxnSnapLog.java:109)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:141)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:114)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)

这是我的 zookeeper.properties 中的内容

dataDir=/var/appdata/zookeeper
dataLogDir=/var/applogs/zookeeper

【问题讨论】:

    标签: apache-zookeeper confluent-platform


    【解决方案1】:

    zookeeper 中的默认设置是快照和日志文件存储在同一目录(dataDir 目录)。现在您已经启动了集群,系统将在同一目录中创建日志和快照文件。

    稍后当您决定为数据(快照)和日志(日志)文件设置单独的文件夹(可能是为了提高效率)时,您只需添加两个属性(dataDir、dataLogDir)并重新启动集群。但这不起作用,并且服务器在启动过程中失败,说“快照目录有日志文件”。这是正确的,因为您的设置明确要求这两个文件夹具有唯一性(但在您的情况下,这两个文件已经存在于同一个文件夹中。所以您现在必须迁移)。

    解决方案: 从dataDir 中剪切所有日志文件并粘贴到dataLogDir 的相应版本文件夹(例如version-2)中。这将帮助您从之前的状态(快照)恢复您的 zookeeper。

    【讨论】:

      猜你喜欢
      • 2018-11-13
      • 2020-10-08
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多