DM部署完,全量+增量同步报错,parse mydumper metadata error: EOF

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v4.0.8 DM v2.0.0
  • 【问题描述】:DM部署好之后,全量+增量同步报错,详细报错如下,

[root@10-8-4-117 soft]# tiup dmctl --master-addr 10.8.114.91:8261 query-status mediamz
Starting component dmctl: /root/.tiup/components/dmctl/v2.0.0/dmctl/dmctl --master-addr 10.8.114.91:8261 query-status mediamz
{
“result”: true,
“msg”: “”,
“sources”: [
{
“result”: true,
“msg”: “”,
“sourceStatus”: {
“source”: “mysql-replica-01”,
“worker”: “dm-10.8.114.91-8262”,
“result”: null,
“relayStatus”: null
},
“subTaskStatus”: [
{
“name”: “mediamz”,
“stage”: “Paused”,
“unit”: “Load”,
“result”: {
“isCanceled”: false,
“errors”: [
{
“ErrCode”: 11001,
“ErrClass”: “functional”,
“ErrScope”: “internal”,
“ErrLevel”: “high”,
“Message”: "parse mydumper metadata error: EOF, metadata: Started dump at: 2020-12-01 18:16:30
SHOW MASTER STATUS:
SHOW MASTER STATUS: /* AFTER CONNECTION POOL ESTABLISHED */
Finished dump at: 2020-12-01 23:07:35
",
“RawCause”: “”,
“Workaround”: “”
}
],
“detail”: null
},
“unresolvedDDLLockID”: “”,
“load”: {
“finishedBytes”: “0”,
“totalBytes”: “0”,
“progress”: “0.00 %”,
“metaBinlog”: “”
}
}
]
}
]
}

DM的配置文件如下:
dm-task-mediamz.yaml (1.6 KB) source-mysql-mediamz.yaml (333 字节)

mysql是8.0.14版本

提供下 dm-worker log 看下.

日志文件请查看附件dm-worker.log (2.5 MB)

日志中有这样的错误

SHOW MASTER STATUS: Error 1227: Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation

请检查一下上游相关权限。报错信息我们会进行调整

这个是账号权限问题已经解决了,看后面的报错信息

以下错误日志信息,一直在循环输出

[2020/12/02 15:28:34.646 +08:00] [WARN] [task_checker.go:320] [“backoff skip auto resume task”] [component=“task checker”] [task=mediamz] [latestResumeTime=2020/12/02 15:23:34.646 +08:00] [duration=5m0s]
[2020/12/02 15:28:39.646 +08:00] [INFO] [worker.go:268] [“auto_resume sub task”] [component=“worker controller”] [task=mediamz]
[2020/12/02 15:28:39.646 +08:00] [INFO] [subtask.go:487] [“resume with unit”] [subtask=mediamz] [unit=Load]
[2020/12/02 15:28:39.646 +08:00] [INFO] [task_checker.go:328] [“dispatch auto resume task”] [component=“task checker”] [task=mediamz]
[2020/12/02 15:28:39.670 +08:00] [ERROR] [loader.go:1303] [“fail to parse dump metadata”] [task=mediamz] [unit=load] [error=EOF]
[2020/12/02 15:28:39.671 +08:00] [INFO] [subtask.go:281] [“unit process returned”] [subtask=mediamz] [unit=Load] [stage=Paused] [status="{“progress”:“0.00 %”}"]
[2020/12/02 15:28:39.671 +08:00] [ERROR] [subtask.go:300] [“unit process error”] [subtask=mediamz] [unit=Load] [“error information”="{“ErrCode”:11001,“ErrClass”:“functional”,“ErrScope”:“internal”,“ErrLevel”:“high”,“Message”:“parse mydumper metadata error: EOF, metadata: Started dump at: 2020-12-01 18:16:30\ SHOW MASTER STATUS:\ SHOW MASTER STATUS: /* AFTER CONNECTION POOL ESTABLISHED */\ Finished dump at: 2020-12-01 23:07:35\ ”}"]

因为这个报错

SHOW MASTER STATUS: Error 1227: Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation

导出的metadata文件是不完整的,所以一直在打印。重新跑一下任务看看

另外应该有上游的权限检查可以提前发现这个错误的,这个有修改吗

那我把当前任务停止,重新创建一个新任务再同步数据试下

不完整的metadata文件可以手动删除吗

可以删除,但是dump文件需要有一个“完整的metadata”才能正常过渡到增量阶段,所以重跑一下比较好。

dm-worker文件夹里面,有个dumped_data.mediamz文件夹,这个文件夹需要全部删除再重新创建任务吗?
QQ%E6%88%AA%E5%9B%BE20201202155631

对的。另外启动任务的时候要带上remove-meta参数

https://docs.pingcap.com/zh/tidb-data-migration/stable/create-task

好的,我尝试操作下

研发会在 https://github.com/pingcap/dm/issues/1320 这个 issue 追踪该问题

好的,感谢,另外还有问题想咨询,如何修改数据源,我想换台mysql数据库,官方文档上没找到怎么修改数据源的方法

知道怎么更新了,谢谢,有个update方法

使用update更新方法,出现了另外一个错误信息,“Update worker config is not supported by dm-ha now”

[root@10-8-4-117 soft]# tiup dmctl --master-addr 10.8.114.91:8261 operate-source update /data/soft/source-mysql-mediamz.yaml
Starting component dmctl: /root/.tiup/components/dmctl/v2.0.0/dmctl/dmctl --master-addr 10.8.114.91:8261 operate-source update /data/soft/source-mysql-mediamz.yaml
{
“result”: false,
“msg”: “Update worker config is not supported by dm-ha now”,
“sources”: [
]
}

使用update更新方法,出现了另外一个错误信息,“Update worker config is not supported by dm-ha now”,帮忙看下是什么原因

这个报错 asktug 搜索一下呢?