如何维护 zookeeper 整体?

如何维护 zookeeper 整体?

我有一个 3 节点的 zookeeper 集群正在运行,其中一个节点的数据库损坏,我遇到了麻烦。现在我在文档中发现,必须借助 cron 运行以下命令定期清除该数据库:

java -cp zookeeper.jar:log4j.jar:conf org.apache.zookeeper.server.PurgeTxnLog /var/lib/zookeeper/ /var/lib/zookeeper/version-2/ -n 3

不幸的是我确实收到了这个错误:

线程“main”中的异常 java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at org.apache.zookeeper.server.PurgeTxnLog.(PurgeTxnLog.java:45) 导致的原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 还有 1 个

是什么原因造成的?我该如何防止 zookeeper 由于日志条目太多而再次破坏数据库?

答案1

slf4j 的 jar 在 classpath 中缺失;您可以手动添加它们,但最好使用zkCleanup.sh(zookeeper 自带的)。

相关内容