在开发阶段使用zookeeper大约6个月后,虽然它工作正常,但其数据目录的大小增长到6 GIG!而且还在增加.下面列出了一些系统规范:
zookeeper版本:3.4.6
客户端数量:<10
个znode数量:<400
还...
dataDir/version-2中
有90个log.*文件,dataDir/version-2 中没有快照.*文件!
通过谷歌搜索此问题我在页面的高级配置部分找到了自动清除选项ZooKeeper Administrator's Guide
.然后我使用以下conifguration(zoo.cfg)将zookeeper输出:
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
多次到期也没有发生任何变化,即仍然是zookeeper数据目录的大小是6G并且没有删除任何文件.这是一个ls -laht
上${dataDir}/version-2
.这里有一个奇怪的地方,Nautilus
说数据目录的大小是6G,但ls -laht
它说只有3.4G!
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
此外,以下命令(如" 维护"部分中所述)对数据目录中的文件没有任何影响.
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-n
顺便说一句,我发现了这个问题,但遗憾的是在该页面中没有解决方案.
问题:
1-快照.*文件在哪里?
2-如果SASL设置可能会妨碍自动清除?(我认为没有)
3-配置出了什么问题?
编辑:似乎解决方案是围绕snapCount属性.此属性的默认值为100000,只需将其减小到非常小的数字,例如10,然后测试系统.