【 TiDB 使用环境`】测试环境
【 TiDB 版本】tiup:v6.1.0 源mysql:8.0.25 dm:v1.10.3 dmctl: v6.1.0
【遇到的问题】创建mysql的operate-source正常,但是在dmctl check-task任务检查不通过。
【问题现象及影响】
执行:tiup dmctl --master-addr 10.10.1.38:8261 operate-source show
返回:{
“result”: true,
“msg”: “”,
“sources”: [
{
“result”: true,
“msg”: “”,
“source”: “mysql-01”,
“worker”: “dm-10.10.1.24-8262”
},
{
“result”: true,
“msg”: “”,
“source”: “mysql-8”,
“worker”: “dm-10.10.1.38-8262”
}
]
}其中mysql-01数据源是mysql5.7版本,导入正常。
创建任务task的yaml文件:
******** 数据源配置 **********
mysql-instances:
- source-id: “mysql-8” # 从 source-id = mysql-replica-01 的数据源迁移数据
block-allow-list: “bw-rule-1” # 黑白名单配置名称,如果 DM 版本早于 v2.0.0-beta.2 则使用 black-white-list
filter-rules: [“filter-rule-1”] # 过滤数据源特定操作的规则,可以配置多个过滤规则
route-rules: ["route-rule-1"] # 数据源表迁移到目标 TiDB 表的路由规则,可以定义多个规则
- source-id: “mysql-replica-02” # 从 source-id = mysql-replica-02 的数据源迁移数据
block-allow-list: “bw-rule-2” # 黑白名单配置名称,如果 DM 版本早于 v2.0.0-beta.2 则使用 black-white-list
filter-rules: [“filter-rule-2”] # 过滤数据源特定操作的规则,可以配置多个过滤规则
route-rules: [“route-rule-2”] # 数据源表迁移到目标 TiDB 表的路由规则,可以定义多个规则
执行:tiup dmctl --master-addr 10.10.1.24:8261 check-task /opt/source-mysql8-test.yaml
返回:“msg”: “[code=20003:class=dm-master:scope=internal:level=medium], Message: decode task config failed, RawCause: yaml: unmarshal errors:\
line 1: field source-id not found in type config.TaskConfig\
line 3: field from not found in type config.TaskConfig, Workaround: Please check the configuration file has correct YAML format.”