dm不同步,但是也不报错。

【 TiDB 使用环境`】测试环境
【 TiDB 版本】
tidb:6.1
dm:6.1
【遇到的问题】


测试环境发现dm不同步了,查看dm-worker日志

查看监控发现同一时间出现了有tikv节点重启过(oom)

【做过的操作】
stop-task后再次start-task,报如图错误

最后一幅图应该有详细的报错信息

就是图中的报错信息,还有其他的地方能看报错信息吗?

在dm-master的日志里面有同样的报错

看下dm配置的上下游都能够正常链接么

上下游的链接是正常的

1.这个是正常同步一段时间之后才报错的么
2.辛苦提供下dm的master,worker日志
3.上游有没有超过4G的事务或二进制,dm有没有开启relay-log
4.看下报错位置的syncerbinlog的pos点是不是当前二进制文件最后一个pos

1、是的,正常同步大概有好几个星期,其实一开始也没报错,就是发现不同步了,stop-task后再次start-task后就出现报错了。

2、worker日志


error报错后下面就是大量“(flushed {{{mysql-bin.008471 231863793} 0} })"]”

master日志在19号并没有日志

3、上游并没有超过4G的事务,binlog都是250M一个,dm是默认的配置,如果relay-log需要特殊的配置开启,那应该没有开启

4、并不是二进制文件的最后一个pos

麻烦问下,这个问题该怎么检查呢?

哦哦,那你可以看下上面大佬说的,检查下端口通不通
,telnet dm-master 端口,telnet dm-worker端口。看是否能互相访问通

然后可以试下重启dm-worder,试下有没有效果,不是task是worker

如果还是不行,可以尝试下开启relay-log,然后把这个报错的binlog拽到relay-log目录下,看是否成功

dm 相关的所有通信端口都检查一下,看是否有异常的

dm的端口没问题

dm的端口没有问题,我重启一下worker试试

应该是有服务有问题

重启dm后确实不报错了,但是不同步


syncerBinlog没有变化,上游数据库中的线程也是sleep状态

重启dm不报错了,但就是不同步

你上游的binlog还有这个binlog么,show binary logs看下,然后你重启dm-worker后再stop-task, start-task,看下,如果不成再试试relay-log的办法

好像是dm有问题,stop-task卡住很久,然后报如下错误


再次query-status就出现上面的那个问题