dm-worker日志清理

【 TiDB 使用环境】生产环境 /测试/ Poc
生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题

【遇到的问题:问题现象及影响】
dm-worker节点日志过大
dm-worker-2023-12-06T05-52-59.693.log

【资源配置】
【附件:截图/日志/监控】

v7.1.0
版本

搭建完的新环境没有做过任何操作,但是有 dw工具在同步数据我们

dm-worker是不是有参数可以定时清理

官方不会主动清理日志,你可以写个脚本制定crontab定期清理

比如:定期清理早于30天的日志文件
find /path/to/log/dir/ -name '*.log*' -mtime +30 -delete

1 个赞

可以删除的

1 个赞

自动数据清理

启用自动数据清理需在 source 配置文件中进行以下配置:

# relay log purge strategy
purge:
    interval: 3600
    expires: 24
    remain-space: 15
  • purge.interval
    • 后台自动清理的时间间隔,以秒为单位。
    • 默认为 “3600”,表示每 3600 秒执行一次后台清理任务。
  • purge.expires
    • 当前 relay 处理单元没有写入、或已有数据迁移任务当前或未来不需要读取的 relay log 在被后台清理前可保留的小时数。
    • 默认为 “0”,表示不按 relay log 的更新时间执行数据清理。
  • purge.remain-space
    • 剩余磁盘空间,单位为 GB。若剩余磁盘空间小于该配置,则指定的 DM-worker 机器会在后台尝试自动清理可被安全清理的 relay-log。若这一数字被设为 “0”,则表示不按剩余磁盘空间来清理数据。
    • 默认为 “15”,表示可用磁盘空间小于 15GB 时,DM-master 会尝试安全地清理 relay log。

手动数据清理

手动数据清理是指使用 dmctl 提供的 purge-relay 命令,通过指定 subdir 和 binlog 文件名,来清理掉指定 binlog 之前的所有 relay log。若在命令中不填 -subdir 选项,则默认清理最新 relay log 子目录之前的所有 relay log。
https://docs.pingcap.com/zh/tidb-data-migration/v5.3/relay-log#自动数据清理

2 个赞

对于binlog我们操作方式

我们是这样操作的先压缩备份一部分
然后删除掉
有问题再恢复
一般就保留3天的
因为集群部署吗,脚本就放在worker节点上就可以
,希望能给个赞

1 个赞

再补充一句,这样有一点不好的就是你新加一个worker节点就需要重新建个脚本,但是这个流程规范化就可以了。毕竟一般节点也不会特别多

1 个赞

用dm exec

tiup dm exec [dm-cluster] --command=‘pwd’ -R dm-worker

试试上面这个。可以在dm-worker上统一执行pwd命令。
换成你要的清理日志的命令就可以了。

最好不要直接原地rm -rf ,可以先统一mv到一个别的地方(比如/bak),然后看过没有问题,再rm -rf /bak/*

1 个赞

这个说的配置文件是tidb的配置文件,还是dm的配置文件


自己写的可能更合理些,你参考看看

1 个赞

好谢谢

直接删除有日期的

抽空帮忙给个赞,给个最佳答案,Thanks♪(・ω・)ノ

1 个赞

定时清理就可以了

1 个赞

写个定时任务丢进去。 举个例子 。
find /data/tidb/dm/deploy/ -name “dm-worker-2023*.log” | xargs -i rm -rf {}

1 个赞

谢谢各位已经解决

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。