首页 > 解决方案 > Zookeeper dataLogDir 配置无效

问题描述

我建立了一个zookeeper集群,它运行得很好。但是我发现我在zoo.cfg中设置的日志目录好像不行。下面是我关于日志目录和快照目录的配置。

dataDir=/var/lib/zookeeper
dataLogDir=/var/lib/zookeeper/logs

但是,文件 zookeeper.out 生成在/var/lib/zookeeper而不是辅助日志文件夹/var/lib/zookeeper/logs中。

我多次在每台服务器上重新启动 zookeeper,但没有任何意义。

标签: apache-zookeeper

解决方案


发生这种情况是因为zookeeper.out与其他类型的日志(应用程序日志)相关,而不是与事务日志相关的dataLogDir指定的日志。

dataLogDir
此选项将指示机器将事务日志写入dataLogDir 而不是 dataDir。这允许使用专用的日志设备,并有助于避免日志记录和快照之间的竞争。

通过检查zkServer.sh你会看到zookeeper.out与 _ZOO_DAEMON_OUT 相关,它依赖于 zkEnv.sh 默认设置的ZOO_LOG_DIR。根据您的环境和 zookeeper (ZK) 版本,zookeeper.out文件可能位于不同的位置(根据此答案,即使在启动 ZK 的工作目录中)。对于应用程序日志记录,您最好配置log4j.properties文件;那是因为 ZK 使用log4j


推荐阅读