为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:3.0.5
- 【问题描述】:DM数据通过过程中,出现一下现象
query-status出现 taskStatus": “Error - Relay status is Error” , 数据出现不同步
DM-WORKER LOG里面读取的还是前3个的binlog file.
告警显示 dm syncer binlog file not catch up master server exceed 10 min,
我这个环境是个预发的环境,基本没什么数据写入。

若提问为
性能优化、故障排查类问题,请下载
脚本运行。终端输出打印结果,请
务必全选并复制粘贴上传。
来了老弟
2
你好,
反馈下 query-status 的完成信息,我们看下
task 文件和 dm-worker log 如果方便也可以上传下。
dm-worker-stdout.log ,时间点发生是在2020/09/28 19:49:03 开始的
[2020/09/26 05:40:00] [info] binlogsyncer.go:773 rotate to (3301-binlog.000027, 4)
[2020/09/28 06:25:00] [info] binlogsyncer.go:773 rotate to (3301-binlog.000028, 4)
[2020/09/28 06:25:00] [info] binlogsyncer.go:773 rotate to (3301-binlog.000028, 4)
[2020/09/28 19:49:03] [error] binlogsyncer.go:656 io.ReadFull(header) failed. err EOF: connection was bad
[2020/09/28 19:49:03] [warn] binlogsyncer.go:666 retry sync is disabled
[2020/09/28 19:49:03] [error] binlogstreamer.go:77 close sync with err: io.ReadFull(header) failed. err EOF: connection was bad
[2020/09/28 19:49:04] [info] binlogsyncer.go:175 syncer is closing…
[2020/09/28 19:49:04] [info] binlogsyncer.go:202 syncer is closed
[2020/09/28 19:49:04] [info] binlogsyncer.go:144 create BinlogSyncer with config {201 mysql 172.16.xx.222 3301 h3_tidb false true false UTC true 0 30s 1m0s 0 true true 0}
[2020/09/28 19:49:04] [info] binlogsyncer.go:359 begin to sync binlog from position (3301-binlog.000028, 72891004)
[2020/09/29 07:26:31] [info] binlogsyncer.go:144 create BinlogSyncer with config {201 mysql 172.16.xx.222 3301 h3_tidb false true false UTC true 0 30s 1m0s 0 true true 0}
[2020/09/29 07:26:31] [info] binlogsyncer.go:359 begin to sync binlog from position (3301-binlog.000028, 72891004)
[2020/09/29 07:26:31] [info] binlogsyncer.go:773 rotate to (3301-binlog.000028, 72891004)
[2020/09/29 07:26:31] [info] binlogsyncer.go:773 rotate to (3301-binlog.000029, 4)
[2020/09/29 07:26:32] [info] binlogsyncer.go:773 rotate to (3301-binlog.000030, 4)
[2020/09/29 07:26:34] [info] binlogsyncer.go:773 rotate to (3301-binlog.000031, 4)
[2020/09/29 07:26:34] [info] binlogsyncer.go:773 rotate to (3301-binlog.000031, 4)
[2020/09/29 07:26:34] [info] binlogsyncer.go:773 rotate to (3301-binlog.000032, 4)
[root@worker log]# more dm-worker-stderr.log
[mysql] 2020/09/28 19:49:04 packets.go:36: unexpected EOF
[mysql] 2020/09/28 19:49:29 packets.go:36: unexpected EOF
[mysql] 2020/09/28 21:10:54 packets.go:36: unexpected EOF
[mysql] 2020/09/28 21:10:59 packets.go:36: unexpected EOF11.log (917.5 KB)
另外还有其他的dm-worker进程 同步数据库上其他端口的数据确没有问题。
来了老弟
4
querty-status 信息很重要,可以反馈下。
尝试 resume task 看是否可以恢复,尝试 stop-task start-task 看是否可以回复。看着像是 连接问题
query-status出现 taskStatus": “Error - Relay status is Error” 就是这样的, 当时看到其他进程都是running的,但是数据不同步,
我也是多次重启了指定的dm-woker后,等了一段时间就OK了。我操作的时候网络是OK的,因为其他同步还是OK的. STOP-TASK START-TASK发现当时没有用
来了老弟
6
你好,
该 task 目前是已经恢复同步了是吗。
我们可能需要 query-status 打印的错误栈的信息。建议反馈下。
来了老弟
8
不能,只能看到当前的 task 状态,目前看是连接问题,可以在观察下