Apache zookeeper 找不到自动敦促的Zookeeper java类

Apache zookeeper 找不到自动敦促的Zookeeper java类,apache-zookeeper,clickhouse,Apache Zookeeper,Clickhouse,我有一个动物园管理员配置: autopurge.snapRetainCount=10 autopurge.purgeInterval=1 snapCount=3000000 我的/opt/zookeeper-3.4.11/datadir变大,没有autopurce发生 我尝试用zkCleanup.sh清理这个混乱,但它什么也没做 sysadmin@clickhouse-node1:/opt/zookeeper-3.4.11/bin$ ls /opt/zookeeper-3.4.11/data/

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

autopurge.snapRetainCount=10
autopurge.purgeInterval=1
snapCount=3000000
我的
/opt/zookeeper-3.4.11/data
dir变大,没有
autopurce
发生

我尝试用
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
我的ZK.sh

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

sysadmin@clickhouse-节点1:/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,控制台-cp/opt/zookeeper-3.4.11/bin/。/build/classes:/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/zookeeper-16/lib/logj-api-1.9/jar.jar:/opt/zookeeper-3.4.11/bin/。/lib/audience-annotations-0.5.0.jar:/opt/zookeeper-3.4.11/bin/。/zookeer-3.4.11/bin/。/src/java/lib/*.jar:/opt/zookeer-3.4.11/bin/。/conf:org.apache.zookeer.server.PurgeTxnLog/opt/zookeer-3.4.11/logs/opt/zookeer-3.4.11/data-10
什么事也没有发生

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


在您的
conf/zoo.cfg
中单击House required zookeper 3.5+

dataDir
dataLogDir
是相对路径,以下说明可能会有所帮助:

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 docker映像中zkCleanup.sh中的一个bug

简单的修复方法是从中编辑zkCleanup.sh

org.apache.zookeeper.server.PurgeTxnLog“$ZOODATALOGDIR”“$ZOODATADIR”$*


org.apache.zookeeper.server.PurgeTxnLog“$ZOODATADIR”“$ZOODATALOGDIR”$*

try
jar-tvf zookeeper.jar | grep PurgeTxnLog
。那么
/opt/zookeeper-3.4.11/data
/opt/zoo/data
之间的关系是什么呢?为什么不自己使用
zkCleanup.sh
而不是fill
java
命令呢。似乎您没有将您的
slf4japi
slf4j-log4j12
包含在classpath.zkCleanup.sh文件中,我不理解bash。也许有什么问题。但是脚本执行没有问题。试试
/bin/zkCleanup.sh-n10
你能在问题正文中更新它吗?并在
/opt/zookeeper-3.4.11/data/version-2/
zookeeper 3.4.11支持的选项autopush.snapRetainCount和autopush.purgeinterval下列出文件。如果这样做,则不会发生任何问题,shell脚本zkCleanup.sh中可能会出现问题。将其添加到主题中。