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