【TiDB 版本】: v4.0.10
【Data Migration 版本】: v2.0.1
【DM佈署拓樸如下】:
【TiDB佈署拓樸】:
【问题描述】: DM-Master(HA)某一個節點重開後,某個task出現fail to initial unit Sync of subtask task_c8_replication : heartbeat config is different from previous used: serverID not equal, self: 100423, other: 100523"
發現以下目的端TiDB表格 資訊有誤:
task_c8_replication_loader_checkpoint
task_c8_replication_syncer_checkpoint
實際上task_c8_replication的source: “c8-db-dm”
p.s. 我們曾切換過前端mysql source (from “prd-c8-backup” to “c8-db-dm”)
source列表:
目前我們暫時的解決方式是將此task綁定回重啟的那台機器dm-worker(172.31.13.107:8262)上
resume-task後,DM會恢復運作,但這樣代表HA機制運作是失敗的。
想請教顧問,是否有work around方式去讓上述兩個表的資訊恢復正常? 並讓HA機制恢復運作?
1 个赞
小王同学
2021 年2 月 3 日 06:59
2
jimmyjan0824:
heartbeat config
可以提供 task 配置么?看样子是配置了 heartbeat 吧?
顧問好,
詳細task配置檔案
task_c8_replication.yaml (2.4 KB)
p.s.的確有配置heartbeat
小王同学
2021 年2 月 3 日 08:42
4
嗯,把 heartbeat 参数去掉吧,2.0 里面这个部分功能还不完善。
另外在 DM 1.0 时,heartbeat 开启时,会在上游数据库中创建库表,上游发生切换后,可能会导致一些问题。建议把 heartbeat 参数去掉,重启 task 后再看下 HA 的效果。
1 个赞
顧問好,
我們嘗試把enable-heatbeat: false後,task HA功能可正常運作了,太神啦!!!
分享步驟如下:
1. 修改task_c8_replication.yaml
enable-heatbeat: false
2. pause-task
bin/dmctl -master-addr 172.31.13.107:8261,172.31.13.108:8261,172.31.13.109:8261 pause-task task_c8_replication
3. stop-task
bin/dmctl -master-addr 172.31.13.107:8261,172.31.13.108:8261,172.31.13.109:8261 stop-task conf/task_c8_replication.yaml
4. start-task
bin/dmctl -master-addr 172.31.13.107:8261,172.31.13.108:8261,172.31.13.109:8261 start-task conf/task_c8_replication.yaml
5. query-status
bin/dmctl -master-addr 172.31.13.107:8261,172.31.13.108:8261,172.31.13.109:8261 query-status task_c8_replication
6. tiup dm restart dm --node 172.31.13.107:8262 (故意重啟dm-worker)
下圖可看出task綁定到另外一個dm-worker
7. query-status (再次check task => 正常運作)
1 个赞
system
(system)
关闭
2022 年10 月 31 日 19:21
7
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。