前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Apache ZooKeeper - 线上系统日志清理

Apache ZooKeeper - 线上系统日志清理

作者头像
小小工匠
发布2021-08-17 16:24:43
发布2021-08-17 16:24:43
64000
代码可运行
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构
运行总次数:0
代码可运行

PurgeTxnLog

源码分析

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

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

代码语言:javascript
代码运行次数:0
复制
#!/bin/sh  

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

echo "清理完成" 

crontab

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

代码语言:javascript
代码运行次数:0
复制
#!/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     

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

代码语言:javascript
代码运行次数:0
复制
0 6-8 * * * /usr/bin/logsCleanWeek.sh>/dev/null 2>&1 

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

走了~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PurgeTxnLog
    • 源码分析
  • crontab
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档