美文网首页
Zookeeper日志清理

Zookeeper日志清理

作者: 风筝flying | 来源:发表于2021-08-11 16:38 被阅读0次

周末的时候在家收到了工作的告警通知,远程登录后发现是自运维的CK集群硬盘空间不足,通过命令查看各个目录的大小,确定是Zookeeper的日志及snapshot占用了绝大部分空间。
Zookeeper主要存放了两类文件,snapshot和log,前者是内存数据的快照,后者是记录修改数据相关的操作记录,类似于mysql的binlog。
正常的运行过程中,zk会不断的将快照数据和日志记录输出到这两个目录,并且zk不会自动清理这些文件,所以需要我们手动清理。清理的脚本如下:

#! /bin/bash
# snapshot目录
snapshotDir=xxxx
#log目录
dataLogDir=xxxx
logDir=xxxx
#保留文件数量
leftFileNum=10
#删除
ls -t $snapshotDir/snapshot.* | tail -n +$leftFileNum | xargs rm -f
ls -t $dataLogDir/log.* | tail -n +$leftFileNum | xargs rm -f
ls -t $logDir/zookeeper.log.* | tail -n +$leftFileNum | xargs rm -f

从3.4.0开始,zookeeper提供了自动清理snapshotlog的功能,在zoo.cfg文件中配置如下参数:

# 指定保留文件数量
autopurge.snapRetainCount=10
# 指定清理频率,单位是小时,默认0,表示不开启
autopurge.purgeInterval=12

相关文章

网友评论

      本文标题:Zookeeper日志清理

      本文链接:https://www.haomeiwen.com/subject/etycbltx.html