未找到用于自动清除的 Zookeeper java class

Zookeeper java class for autopurge not found

我有这个动物园管理员配置:

autopurge.snapRetainCount=10
autopurge.purgeInterval=1
snapCount=3000000

我的 /opt/zookeeper-3.4.11/data 目录变大了,autopurge 没有发生。

我尝试用 zkCleanup.sh 清理这个烂摊子,但它什么也没做。

sysadmin@clickhouse-node1:/opt/zookeeper-3.4.11/bin$ ls /opt/zookeeper-3.4.11/data/version-2/ | wc -l
18
sysadmin@clickhouse-node1:/opt/zookeeper-3.4.11/bin$ ./zkCleanup.sh -n 10  
sysadmin@clickhouse-node1:/opt/zookeeper-3.4.11/bin$ ls /opt/zookeeper-3.4.11/data/version-2/ | wc -l
18

sysadmin@clickhouse-node1:/opt/zookeeper-3.4.11$ ls data/version-2/
log.9028ed00e  log.902eafb66  log.903362dcb  log.90374bde5  log.903b5f685  log.903f8e16a  log.b000000a8  log.b004d4eac  log.b0083c3e1
log.902b9c065  log.9030ece30  log.903590e4a  log.90395a935  log.903d9b0f0  log.90421e5d6  log.b002462e2  log.b0068bba3  log.b00a38f08

我的zkCleanup.shhttps://pastebin.com/Q9XSpSfz

UPD:来自新动物园清理脚本的日志:

sysadmin@clickhouse-node1:/opt/zookeeper-3.4.11/bin$ ./zoo_clean.sh -n 10 /opt/zookeeper-3.4.11/data /opt/zookeeper-3.4.11/logs /usr/lib/jvm/java-8-oracle/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /opt/zookeeper-3.4.11/bin/../build/classes:/opt/zookeeper-3.4.11/bin/../build/lib/*.jar:/opt/zookeeper-3.4.11/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/zookeeper-3.4.11/bin/../lib/slf4j-api-1.6.1.jar:/opt/zookeeper-3.4.11/bin/../lib/netty-3.10.5.Final.jar:/opt/zookeeper-3.4.11/bin/../lib/log4j-1.2.16.jar:/opt/zookeeper-3.4.11/bin/../lib/jline-0.9.94.jar:/opt/zookeeper-3.4.11/bin/../lib/audience-annotations-0.5.0.jar:/opt/zookeeper-3.4.11/bin/../zookeeper-3.4.11.jar:/opt/zookeeper-3.4.11/bin/../src/java/lib/*.jar:/opt/zookeeper-3.4.11/bin/../conf: org.apache.zookeeper.server.PurgeTxnLog /opt/zookeeper-3.4.11/logs /opt/zookeeper-3.4.11/data -n 10 什么也没有发生

知道如何解决这个问题吗?

https://clickhouse.yandex/docs/en/operations/tips/#zookeeper Clickhouse 需要 zookeper 3.5+

dataDirdataLogDir 在你的 conf/zoo.cfg 是相对路径,以下说明可能会有所帮助:

cd /opt/zookeeper-3.4.11
./bin/zkCleanup.sh -n 10

然后你可以看到如下输出:

Removing file: Mar 15, 2018 1:57:16 PM  data/log/version-2/log.9028ed00e
Removing file: Mar 12, 2018 5:33:11 PM  data/log/version-2/log.902eafb66

这是 3.4.11 zkCleanup.sh 中的一个错误 docker 图片 https://github.com/apache/zookeeper/pull/475

简单的修复是从

编辑 zkCleanup.sh

org.apache.zookeeper.server.PurgeTxnLog "$ZOODATALOGDIR" "$ZOODATADIR" $*

org.apache.zookeeper.server.PurgeTxnLog "$ZOODATADIR" "$ZOODATALOGDIR" $*