zkCleanup.sh工具解决zk占据磁盘过多问题


公司测试环境服务器用户主目录磁盘空间使用率100%,主目录下使用命令:du -h --max-dept=1 |sort -rh |head -n 10,查看占据磁盘最多的目录或文件,发现zookeeper目录占了150G,再细看,zk快照数据占了150G。
据资料显示,zk每次快照都是将内存数据全量进行快照,因此,“历史”快照可删除,删除方法如下。

方法一,手动清理:

./zkCleanup.sh 参数1 -n 参数2。其中:
	参数1,zk data目录,即zoo.cfg文件中dataDir值
	参数2,保存最近的多少个快照      
示例:zkCleanup.sh -n 10

方法二,自动清理:

	zoo.cfg配置文件中添加如下两个参数:
		autopurge.purgeInterval=3
				该参数单位为小时
	autopurge.snapRetainCount=3
	这样,zk会周期性的清理过期的快照。

参考:

zkCleanup.sh清理zookeeper事务日志(log)文件和快照(snapshot)文件

https://blog.csdn.net/njuptcyd/article/details/90083795