dm2.0rc,task-mode: all,提示找不到metadata

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

  • 【TiDB 版本】:4.0.2
  • 【问题描述】:dm 2.0rc,任务模式:all。tidb作为上游单库单实例单表的从库。任务文件check-task检查通过。从上游mysql全量拉取指定数据库也这正常。但在上游mysql增加、修改记录时,下游tidb没有同步。检查任务时发现以下错误:
    任务配置文件以 task_basic.yaml文件为模板进行配置,似乎应该增加任务数据文件夹路径项?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

cat 下 metadata 看下文件内容,
dm syncer 阶段需要读取 mydumper 的 meta 文件,确认增量同步的位置

奏是找不到metadata文件啊:joy:
老版本dm没有这个问题,自动建立一个dumped_data.任务名的文件夹

看下 tidb dm_meta 数据库,task syncer 表,\G 输出下记录

哦 ,meta表记录啊,如下:

感谢反馈,

问下此操作之前做过什么操作

正常操作。打开tidb,发现库过来了。然后在上游mysql改了条记录,发现tidb更新没过来。:disappointed: 预感可能出问题,敲了下键盘,query-status,就是你看见的那个截图了。

感谢反馈,执行 resume-task 看下是否可以回复。执行完毕不管结果,辛苦将故障时间点之后的日志以附件的形式上传下,我们看下

3logs.rar (43.5 KB)
日志来了。我刚才重新做了这个实验,所以日志很紧凑,请分析一下。

看下 task GTID_MODE 设置为 on,
修改为 off 重新同步下看是否可以

可以了。不小心设置为true了…:joy:

:call_me_hand:

我回想了一下,不是不小心。而是参考官方文档时看到sourece文件的例子就是true的。那个true,还标红了…你细品一下
https://docs.pingcap.com/zh/tidb-data-migration/dev/replicate-data-using-dm

两点

文档问题已经反馈:
https://github.com/pingcap/docs-dm/pull/304

query-status 返回 message 问题,我们应该提前检查 gtid 问题,而不是 load 之后:
https://github.com/pingcap/dm/issues/941

1 个赞

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