首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动物园管理员自动清理不起作用

动物园管理员自动清理不起作用
EN

Stack Overflow用户
提问于 2015-12-21 07:15:31
回答 3查看 8.7K关注 0票数 10

在开发阶段使用动物园管理员大约6个月后,虽然它工作得很好,但是它的数据目录的大小已经增长到了6g!而且它还在增加。以下列出了一些系统规范:

动物园管理员版本: 3.4.6 客户数量:< 10 节点数:< 400 还有..。 在dataDir/version-2中有90个日志.*文件 没有快照。* dataDir/version-2中的文件!

在谷歌搜索这个问题时,我在高级配置页面的ZooKeeper Administrator's Guide部分找到了自动清除选项。然后,我使用以下结合体(zoo.cfg)将动物园管理员滚了出来:

tickTime=2000 dataDir=/home/faghani/software/zookeeper/zkdata clientPort=2181 authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthScheme=sasl autopurge.snapRetainCount=3 autopurge.purgeInterval=1

但即使purgeInterval多次过期,也没有发生变化,即动物园管理员数据目录的大小仍为6G,没有文件被删除。这里是ls -laht on ${dataDir}/version-2。这里有一个奇怪的点,Nautilus说数据目录的大小是6G,但是ls -laht说只有3.4G!

代码语言:javascript
复制
faghani@node255:~/software/zookeeper/zkdata/version-2$ ls -laht  
total 3.4G  
-rw-rw-r-- 1 faghani faghani  65M Dec 20 10:09 log.1061d  
drwx------ 2 faghani faghani 4.0K Dec 20 10:09 .  
-rw-rw-r-- 1 faghani faghani  65M Dec 19 17:28 log.105f2  
-rw-rw-r-- 1 faghani faghani  65M Dec 15 18:37 log.105c1  
-rw-rw-r-- 1 faghani faghani  65M Dec 14 16:17 log.105bc  
-rw-rw-r-- 1 faghani faghani  65M Dec  9 18:08 log.10576  
drwx------ 3 faghani faghani 4.0K Dec  9 16:57 ..    
-rw-rw-r-- 1 faghani faghani  65M Dec  9 16:56 log.10565
-rw-rw-r-- 1 faghani faghani  65M Dec  8 18:31 log.1048c
and many more until ...  
-rw------- 1 faghani faghani  65M Sep  2 16:41 log.1d03  

另外,以下命令(如维护部分中所建议的)对数据目录中的文件没有任何影响。

代码语言:javascript
复制
java -cp zookeeper.jar:lib/slf4j-api-1.7.5.jar:lib/slf4j-log4j12-1.7.5.jar:lib/log4j-1.2.16.jar:conf org.apache.zookeeper.server.PurgeTxnLog <dataDir> <snapDir> -n <count>

顺便说一句,我找到了这个问题,但不幸的是,该页面中没有解决方案。

问题:

1-快照在哪里。*文件?

2-如果SASL设置可以阻碍自动清除?(我想没有)

配置有问题吗?

编辑:似乎是围绕snapCount属性的解决方案。此属性的默认值为100000,只需将其降到非常小的数目,例如10,然后测试系统。

EN

回答 3

Stack Overflow用户

发布于 2018-01-06 10:14:52

您可以使用zkCleanup.sh脚本,它位于源文件夹(./bin子文件夹)内。如果你找不到它,你可以找到它这里。此脚本的用法:

代码语言:javascript
复制
zkCleanup.sh <snapshotDir> -n <count>
for example:
# ./zkCleanup.sh /tmp/zookeeper -n 6 

<snapshotDir>是动物园管理员快照文件的位置,在我的例子中,我的快照文件位于/tmp/zookeeper/version-2/文件夹中。

<count>是保留的日志和快照文件号,<count>的值通常应该大于3。

有关更多细节,您可以参考以下文档:正在进行的数据目录清理

这可以作为cron作业在ZooKeeper服务器机器上运行,以便每天清理日志。就我而言,我每周打扫一次:

代码语言:javascript
复制
0 7 * * 0 ( cd /root/otter/zookeeper/zookeeper-3.4.10/bin && ./zkCleanup.sh /tmp/zookeeper -n 5 ) >> /tmp/zookeeper/cron.log 2>&1

您可以通过crontab -e添加这一点,但请记住根据您的要求更改频率。

票数 4
EN

Stack Overflow用户

发布于 2016-11-29 12:38:34

如果您的问题与使用Solr运行ZK直接相关,那么阅读Solr的邮件列表中的以下电子邮件链将是有用的:Solr中ZK事务日志的自动清除

简而言之,Solr嵌入了通过自己的SolrZKServer运行的ZK,这既不考虑autopurge.snapRetainCount=3也不考虑autopurge.purgeInterval=1

票数 0
EN

Stack Overflow用户

发布于 2022-08-05 07:38:53

一些有用的信息,运行在命令下对我的动物园管理员版本: 3.5.5。参考文献https://zookeeper.apache.org/doc/r3.6.1/zookeeperTools.html#zkCleanup

代码语言:javascript
复制
zkCleanup.sh -n 5

zKCleanup脚本存在于动物园管理员bin文件夹中。/apache-动物园管理员-3.5.5-bin/bin

自动刷新变量信息可以在:advancedConfiguration上找到

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34390605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档