dm 目标端机器被剔除集群导致dm 任务启动不起来。

【 TiDB 使用环境】
[tidb@ptidbcalcmanage01 dm-conf]$ tiup dm display dm-calc
Found dm newer version:

The latest version:         v1.5.6
Local installed version:    v1.5.2
Update current component:   tiup update dm
Update all components:      tiup update --all

Starting component dm: /home/tidb/.tiup/components/dm/v1.5.2/tiup-dm display dm-calc
Cluster type: dm
Cluster name: dm-calc
Cluster version: v2.0.4
Deploy user: tidb
SSH type: builtin
ID Role Host Ports OS/Arch Status Data Dir Deploy Dir


172.17.103.38:9095 alertmanager 172.17.103.38 9095/9096 linux/x86_64 Up /home/tidb/dm/data/alertmanager-9095 /home/tidb/dm/deploy/alertmanager-9095
172.17.3.113:8261 dm-master 172.17.3.113 8261/8291 linux/x86_64 Healthy /home/tidb/dm/data/dm-master-8261 /home/tidb/dm/deploy/dm-master-8261

【概述】【背景】
使用scale-out scale-in 方式升级真个机器集群。原有的目标机器(172.17.3.70:5001)被剔除。导致dm 同步任务启动不起来。

【背景】 做过哪些操作
发现问题启动不起来后将原有的DM中任务中目标端数据库地址替换成如下地址:
full_calcdb_zfpt.yaml
name: “full_calcdb_zfpt” #task 名称,必须全局唯一
task-mode: “all” #迁移同步方式 full-全量、incremental-增量、all-全量+增加

target-database:
host: “172.17.3.70” #下游 TiDB 主机 IP 修改地址为:172.17.3.70
port: 5001 #TiDB 访问端口
user: “root” #TiDB 登录用户
password: “n7NLD6TpEuGe4kEnVhgxy0Dr67IMIXA=” #使用 dmctl 加密的登录密码

mysql-instances:

source-id: “mysql-3-53-11858”
block-allow-list: “global”
mydumper-config-name: “global”

block-allow-list: # 如果 DM 版本早于 v2.0.0-beta.2 则使用 black-white-list。
global:
do-tables: # 需要迁移的上游表的白名单。
- db-name: “calcdb_zfpt” # 需要迁移的表的库名。
tbl-name: “*” # 需要迁移的表的名称。

【现象】【问题】 当前遇到的问题
[tidb@ptidbcalcmanage01 dm-conf]$ tiup dmctl --master-addr 172.17.3.115:8261 query-status full_calcdb_zfpt
Found dmctl newer version:

The latest version:         v2.0.6
Local installed version:    v2.0.4
Update current component:   tiup update dmctl
Update all components:      tiup update --all

Starting component dmctl: /home/tidb/.tiup/components/dmctl/v2.0.4/dmctl/dmctl --master-addr 172.17.3.115:8261 query-status full_calcdb_zfpt
{
“result”: true,
“msg”: “”,
“sources”: [
{
“result”: true,
“msg”: “”,
“sourceStatus”: {
“source”: “mysql-3-53-11858”,
“worker”: “dm-172.17.3.117-8262”,
“result”: null,
“relayStatus”: null
},
“subTaskStatus”: [
{
“name”: “full_calcdb_zfpt”,
“stage”: “Paused”,
“unit”: “InvalidUnit”,
“result”: {
“isCanceled”: false,
“errors”: [
{
“ErrCode”: 10001,
“ErrClass”: “database”,
“ErrScope”: “downstream”,
“ErrLevel”: “high”,
"Message": “fail to initial unit Load of subtask full_calcdb_zfpt : database driver error”,
** “RawCause”: “dial tcp 172.17.3.70:5001: connect: connection refused”,**
** “Workaround”: “Please check the database connection and the database config in configuration file.”**
}
],
“detail”: null
},
“unresolvedDDLLockID”: “”
}
]
}
]
}
[tidb@ptidbcalcmanage01 dm-conf]$

即使修改下有数据库地址,任务中还是寻找原有172.17.3.70:5001数据库,这个tidb已经被剔除。
【业务影响】
同步任务中断。请问如何修改任务中的下有数据库。恢复任务。在DM文档中未找到方法。如有烦请告知。
【TiDB 版本】
[tidb@ptidbcalcmanage01 ~]$ tiup cluster display calctidb-cluster
Found cluster newer version:

The latest version:         v1.5.6
Local installed version:    v1.4.1
Update current component:   tiup update cluster
Update all components:      tiup update --all

Starting component cluster: /home/tidb/.tiup/components/cluster/v1.4.1/tiup-cluster display calctidb-cluster
Cluster type: tidb
Cluster name: calctidb-cluster
Cluster version: v5.0.0
SSH type: builtin
Dashboard URL: http://172.17.3.114:2379/dashboard

【附件】

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

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

重启下整个 DM 集群看看,怀疑是有缓存记录了原有数据库的 IP

如果重启还是有问题的,可以去下游 dm_meta 中获取具体的 checkpoint 位点信息。
新启动一个 task,修改 task-name 和 改成增量同步,增量同步位点以 上面获取到的 checkpoint 信息为准。

感谢回答,提供了解决问题的思路。问这个问题主要是想在DM中是否有修改目标端的方式。最后通过,stop_task 清理了原数据信息, start-task --remove-meta 方式快速重建了。数据量不是很大。

修改 task 中的 IP 之后,建议重启下集群

你说的这种方式都试过了。贴图中的流程有这一步骤。