Apache ZooKeeper - 线上系统日志清理

举报
小工匠 发表于 2021/09/10 23:57:17 2021/09/10
【摘要】 文章目录 PurgeTxnLog源码分析 crontab PurgeTxnLog 源码分析 使用 PurgeTxnLog 则可以在编写清除脚本的时候调用 ZooKeepe...

在这里插入图片描述

PurgeTxnLog

源码分析

在这里插入图片描述

在这里插入图片描述

使用 PurgeTxnLog 则可以在编写清除脚本的时候调用 ZooKeeper 提供的工具类完成日志清理工作。

编写 PurgeTxnLog 类的调用程序,系统就会自动通过 PurgeTxnLog 工具类完成对应日志文件的清理工作。

#!/bin/sh  

java -cp "$CLASSPATH" org.apache.zookeeper.server.PurgeTxnLog 

echo "清理完成" 


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

crontab

设定 ZooKeeper 快照和数据日志的对应文件夹路径,并通过 shell 脚本和管道和 find 命令 查询对应的日志下的日志文件,这里我们保留最新的 10 条数据日志,其余的全部清理.

#!/bin/bash 

dataDir=/home/zk/zk_data/version-2 

dataLogDir=/home/zk/zk_log/version-2 

ls -t $dataLogDir/log.* | tail -n +$count | xargs rm -f 

ls -t $dataDir/snapshot.* | tail -n +$count | xargs rm -f 

ls -t $logDir/zookeeper.log.* | tail -n +$count | xargs rm -f  

find /home/home/zk/zk_data/version-2 -name "snap*" -mtime +1 | xargs rm -f                              

find /home/home/zk/zk_data/version-2 -name "snap*" -mtime +1 | xargs rm -f               

find /home/home/zk/zk_data/logs/ -name "zookeeper.log.*" -mtime +1 | xargs rm –f     


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

配置cron : 每天早上的 6 点到 8 点执行

0 6-8 * * * /usr/bin/logsCleanWeek.sh>/dev/null 2>&1 


  
 
  • 1
  • 2

crontab 定时脚本的方式相对灵活,可以按照业务需求来设置处理日志的维护方式,比如仅希望定期清除 ZooKeeper 服务运行的日志,而不想清除数据快照的文件,则可以通过脚本设置,达到只对数据日志文件进行清理的目的。

在这里插入图片描述

走了~

文章来源: artisan.blog.csdn.net,作者:小小工匠,版权归原作者所有,如需转载,请联系作者。

原文链接:artisan.blog.csdn.net/article/details/111566754

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。