Apache zookeeper 快照目录包含日志文件。检查dataLogDir和dataDir配置是否正确+;动物园管理员启动

Apache zookeeper 快照目录包含日志文件。检查dataLogDir和dataDir配置是否正确+;动物园管理员启动,apache-zookeeper,confluent-platform,Apache Zookeeper,Confluent Platform,每当我启动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 dir

每当我启动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中的默认设置是快照和日志文件存储在同一目录中(dataDirdir)。现在您已经启动了集群,系统将在同一目录中创建日志和快照文件

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

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

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