DM重置迁移问题

【 TiDB 使用环境】生产环境
【 TiDB 版本】 V7.1.1
【复现路径】
tiup dmctl --master-addr 10.18.3.130:8261 start-task table_t_license_info.yaml

【遇到的问题:问题现象及影响】
使用dm迁移时,当前配置文件有4个上游,上游的表为分库分表, 合并到下游的单表中,但一启动任务,其中的一个上游的同步单元直接为“Sync”, 当前下游的表是新建的,未进行过同步。按文档中重置任务操作了也是不行



也就是说你要彻底重置这几个任务?让他们重新开始同步?

1,先把所有task 停止。
2,去下游库里面找一个dm_meta的库,把里面的表全删掉。然后再start-task。

其实文档里面写的也应该是没有问题的。start-task 加–remove-meta参数其实就是去下游dm_meta库中把对应表的同步元数据删掉。
应该按照文档重建以后,会导致同步重新从dump-》load-》sync这样走一遍。不会直接从sync开始。
如果你确定你加了–remove-meta以后没有效果,那就粗暴一点,直接去dm_meta库里面,把涉及到的表删掉。

首先感谢回复。 –remove-meta 加了这个参数没效果, 我还把元数据表中以下这几张表的数据都清过的,也删过这几张元数据表。 但也还是不起作用。

应该是4张,

1 个赞

是4张,也就是清掉了对应的task元数据,再启动还是直接接入sync阶段?
我看你这个lightning_checkpoint_list表里面有东西,起码说dm应该是尝试导出过数据,这个表应该是在记录每个表导出数据时候的binlog位置。

这可能要看看task的配置了。还有日志什么的,能提供一下嘛?






对,清了元数据,还是直接进入sync阶段。后面这个任务我就没管,让它一直跑完了。

1 个赞

71这台节点的binlog状态

meta表的位置好像在配置文件中改了?那就是在tidbdm_meta库下面?
会不会是这个问题导致的?

你指的是哪个配置? 没明白, 之前在试别的表的时候,也是删除元数据不行,然后我把元数据名改成了 tidbdm_meta_tmp试了下,但也是不行的。

就是截图里面的这个meta-schema设置,这个被你改到tidbdm_meta。如果不设置是dm_meta。所以你下游会不会有2个库dm_meta和tidbdm_meta?
而你71这个task的元数据是保存在tidbdm_meta这个库里面的,所以你怎么删除dm_meta下的表都没反应。


没有dm_meta的库,我删的也是tidbdm_meta库的。还有可能这个dm_meta会存在哪里么?

1 个赞

那还不是这个问题。

上面的task还是缺一些设置,最好有个完整的,另外绑定这个source的dm-worker的日志也提供一下。

stop一下,重新创建,改个名字,任务名不要和之前一样,dm_meta里面会存记录的。这样试了没



筛出了一个错误

试了的。不起作用

和这个错误应该没关系,而且我看你现在的taskname后缀是v2。就目前提供的日志看不出来什么东西。
如果日志不方便提供,你重点看看,dump和load阶段是怎么执行的,按理说清除了元数据表,而且新建的lightning_checkpoint_list表里面有东西,肯定是有这2个阶段的。看看这两个阶段到底发生了什么。

日志太大,不怎么好看, 9.54左右我重新运行了次,
dm-worker_stdout.log


dm-worker.log