TIDB DM分库分表同步,只能变部分部分表,然后卡就住了

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】TIDB DM分库分表同步,只能变部分部分表,然后卡就住了
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

看看日志里有什么报错信息或其他信息,数据库空间是足够

我不太明白这是什么意思啊?有上游有部分表变更了,所以同步卡住了?

1. 查看 DM 同步任务的状态

  • 执行 SHOW DM JOBS; 查看同步任务的状态,检查是否存在卡住的任务。
  • 查看同步表的进度,是否同步某些表时一直停滞。

2. 检查 TiDB DM 配置

  • 查看 DM 任务的配置,检查是否合理配置了同步的并发度,例如 worker-countbatch-size
  • 确保 task-config.yaml 中的配置符合业务需求,特别是针对不同类型的表进行合理配置。

3. 查看 TiDB 和 TiKV 资源使用情况

  • 进入 TiDB Dashboard,查看主机资源配置以及 TiDB 和 TiKV 节点的 CPU、内存使用情况。
  • 确保 TiDB 集群没有资源瓶颈,特别是磁盘 IO,可能会导致同步任务卡住。

4. 检查 DM 工作节点和 TiDB 之间的网络连接

  • 如果 DM Worker 节点和 TiDB 节点之间的网络连接不稳定,可能导致同步任务超时或失败。
  • 查看 DM 的网络延迟,特别是数据同步时是否存在高延迟。

5. 日志分析

  • 查看 DM Worker 和 TiDB 的日志文件,寻找是否有异常信息、错误堆栈、连接超时等问题。
  • TiDB 和 DM 的错误日志可以帮助找到资源瓶颈、任务超时或其他故障的根本原因。

6. DM 任务的负载和并发度

  • DM 同步任务需要合理的负载和并发度设置,如果配置过低,可能导致同步效率低,任务执行时间过长。
  • 调整 dm-worker 的并发参数,尝试增加并行度,减少单个任务的阻塞。

7. 资源扩展

  • 如果系统资源紧张,可以考虑扩展 TiDB 或 DM 节点,增加更多的计算资源或存储容量,保证同步任务能够顺利完成。
1 个赞

啥都没怎么分析啊

1 个赞

你这分表的表结构应该一致才对的吧?

多说两句,也好分析些