zhang3
(Zhang3)
2020 年6 月 19 日 02:36
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【TiDB 版本】:3.0.9
【问题描述】:DM任务load阶段,到90%之后老是报主键重复。
感觉是任务重复执行了
1.dm-work 日志
2.task配置文件
name: slave # global unique
task-mode: all # full/incremental/all
target-database:
host: “172.28.12.77”
port: 4000
user: “root”
password: “”
mysql-instances: # one or more source database, config more source database for sharding merge
source-id: "my-replica-01" # unique in all instances, used as id when save checkpoints, configs, etc.
black-white-list: "instance"
# number of threads to use for dump data
mydumper-thread: 4
# number of threads to use for load data
loader-thread: 16
# number of threads to use for replicate binlog
syncer-thread: 16
black-white-list:
instance:
#do-dbs: [“~^db_*”]
ignore-dbs: [“mysql”,“data”,“information_schema”,“performance_schema”,“sysdb”]
ignore-tables:
#run
- db-name: “run”
tbl-name: “ctachment”
若提问为性能优化、故障排查 类问题,请下载脚本 运行。终端输出的打印结果,请务必全选 并复制粘贴上传。
1、请提供下 DM 的小版本号,在 v1.0.5 版本,对全量导入的主键冲突做了相关的优化:
https://docs.pingcap.com/zh/tidb-data-migration/v1.0/1.0.5
2、主键冲突的问题,请确认,除 DM 外,是否还有其他的业务行为对该表进行操作。
zhang3
(Zhang3)
2020 年6 月 19 日 03:13
3
DM 1.0.4
之前我翻到有个帖子不是说1.0.4修复了吗
根据发版记录是在 v1.0.5 正式发版的哈,详情如下:
原则上 DM 支持断点续传,但是由于全量导入阶段,报错频繁,这边还是建议升级后,重新全量导入,然后再继续进行后续的操作。
1、从 MySQL 导出数据到 TiDB 还是推荐使用 Mydumper。
2、导入数据到 TiDB ,建议使用 Loader 以及 TiDB-Lightning,如果是使用 TiDB-Lightning ,那么若使用 importer 模式,TiDB 无法对外提供服务,请关注。
https://docs.pingcap.com/zh/tidb/v4.0/loader-overview#loader-使用文档
https://docs.pingcap.com/zh/tidb/v4.0/get-started-with-tidb-lightning/#tidb-lightning-教程
3、如果是 Mydumper 导出,再使用 TiDB-Lightning 导入全量数据(importer 模式,TiDB 无法对外提供服务 ),然后再进行 DM 增量同步,那么需要手动的设置 DM 增量同步的位点,参照如下文档:
https://docs.pingcap.com/zh/tidb-data-migration/v1.0/task-configuration-file-full
yilong
(yi888long)
2020 年6 月 23 日 09:45
10
请检查是否存在此文件,上游mysql是否有此binlog文件,是否DM还没有拉取,就已经被清理了?
zhang3
(Zhang3)
2020 年6 月 23 日 10:03
11
DM会自动拉取上游mysql所有binlog日志吗
来了老弟
2020 年6 月 23 日 11:31
12
视情况而定,当前问题为 relay log 丢失,建议重做下同步,防止数据不一致
yilong
(yi888long)
2020 年6 月 24 日 03:52
14
上面的这个binlog文件如果mysql不存在了,DM拉取不到,无法同步,后面的binlog文件就都无法同步,建议重新全量同步后,再增量同步。
zhang3
(Zhang3)
2020 年6 月 24 日 03:55
15
binlog文件我手动下载放进去了,然后启动DM任务
看监控现在这个syncer跟master差距越来越大了
yilong
(yi888long)
2020 年6 月 24 日 06:38
18
binlog文件 DM 会自动解析,所以麻烦放到mysql的目录试试,看DM是否会自动拉取,多谢。
zhang3
(Zhang3)
2020 年6 月 24 日 06:50
19
上游mysql是云上的数据库,binlog文件我是下载下来的
DM拉取的日志好像都是从启动dm开始时间拉取的