TiDB binlog 异常(drainers暂停写binlog到文件)

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
RELEASE VERSION: v7.5.3
Edition: Community
Git COMMIT HASH: 70bfd90035cc81e80d78b4f1f76ca4baef8a5756
Git Branch: HEAD
UTC Build TIME: 2024-07-31 13:11:26
GoVersion: go1.21.10
Race Enabled: FALSE
CHECK TABLE BEFORE DROP: FALSE
Store: tikv

【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
10:30左右,研发批量导入了大量数据,集群延迟增加,之后,一直告警binlog_drainer_checkpoint_tso_no_change_for_1m;
随后重启了pump,drainers,和每个tidb server执行(curl http://172.18.2.143:10081/binlog/recover),drainer依然没有恢复写binlog。
故障时间点
图片
drainer 的checkpoint TSO暂停
图片

pump\drainer重启时间点和curl http://tidb ip:10081/binlog/recover执行时间点

#使用命令recover未恢复执行,
curl http://tidb ip:10081/binlog/recover
执行后"binlog_status": 由"Skipping"变成"On",但是drainer未恢复写binlog

求救:如何恢复正常写binlog?

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

重建 drainer 就好了

感谢提供问题解决的思路。

我们的binlog是写入文件的,只是做个备份,丢失一部分问题不大,修改了drainer的savepoint,跳过故障点附件的binlog事件,然后重启drainer服务,整个drainer恢复正常。

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