在开发阶段使用zookeeper大约6个月后,尽管它工作正常,但其数据目录的大小增长到了6 GIG!而且还在增加。有些系统规范列举如下:Zookeeper自动清除不起作用
饲养员版本:3.4.6
数量的客户端: 数znodes的: 也...
有90个日志。 * dataDir/version-2中的文件
dataDir/version-2中没有快照。*文件!
通过谷歌搜索这个问题我在ZooKeeper Administrator's Guide
页面的Advanced Configuration部分发现了自动清除选项。然后,我滚了动物园管理员使用以下conifguration(zoo.cfg):
滚动时间= 2000
DATADIR = /家庭/ faghani /软件/饲养员/ zkdata
CLIENTPORT = 2181
authProvider.1 =组织.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthScheme = SASL
autopurge.snapRetainCount = 3
autopurge.purgeInterval = 1
即使purgeInterval
过期很多次,即zookeeper数据目录的大小仍然是6G,没有文件被删除,也没有发生变化。这是ls -laht
的${dataDir}/version-2
。这里有一个奇怪的地方,Nautilus
表示数据目录的大小是6G,但是ls -laht
表示它只有3.4G!
[email protected]:~/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
此外下面的命令(如在Maintenance部分建议的)作出对数据目录中的文件没有影响。
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>
顺便说一句,我发现this question但遗憾的是在该页面没有它的解决方案。
问题:
1-快照。*文件在哪里?
2-如果SASL设置可以阻止自动清除? (我认为不是)
3-配置中出现错误?
编辑:看来,解决方案是围绕snapCount属性。该属性的默认值是100000,只需将其减小到非常小的数目即可。 10,并测试系统。