为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:TiDB-v3.1.0-beta.2
- 【问题描述】:公司断网之后,发现上游主从切换之后,dm同步任务失败;而上游非主从的,则可以自己自动恢复同步。
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
您好,工具类问题麻烦提供下工具版本,多谢。
请问下上游主从切换,dm 是连接的主从的域名或者是 虚 IP 么?如果是虚 IP 或者域名,上游主从发生切换后,虚 IP 飘到新的主库上,dm 是需要从新的主库上拉取 binlog,详细流程可以参考该文档:https://pingcap.com/docs-cn/tidb-data-migration/stable/usage-scenario-master-slave-switch/#切换-dm-worker-与上游-mysql-实例的连接
接上述问题,dm 同步上游主从时,可以指定主库或者从库的 IP 即可。
另外补充下,注意以下限制。
DM版本号 :v1.0.4-hotfix
mysql版本 :5.6.33-log
metadata
麻烦回答下上述问题,多谢。
另外,上述描述过于简单,mysql 版本是上游实例的版本么,包括主从架构的和单独实例的,还有 metadata 是 mydumper 生成的么,如果可以的话,麻烦详细描述下步骤,多谢。
这个metadata是DM的task的dump阶段生成的,DM连接的就是上游mysql的IP;mysql版本就是上游mysql的版本,现在连的实例应该是上有的从库
抱歉我没太明白您这边的问题以及诉求是什么?
首先针对标题的问题“ DM同步上游主从mysql时,是否可以只指定一台,不用管上游主从切换”
答案是可以的,指定上游的从库或者是主库 IP 即可。另外看下第二个帖子中的内容,主从复制结构是有版本限制的,所以建议您这边接主从结构的主库即可。
当前如果 dm 连接的是上游的域名或者是虚拟 IP,上游主从发生切换后,是需要手动操作恢复的。同理也是参考第二个帖子中的链接。
后续帖子中提到的 metadata 的信息,如果有疑问麻烦详细描述下。
您好:
上游如果主从切换,需要手工处理,可以参考这篇文章
https://pingcap.com/docs-cn/tidb-data-migration/stable/usage-scenario-master-slave-switch/
您好,我这边还是需要问下,您这边主从结构,dm 接的是上游的域名、虚拟 IP 还是什么?另外日志信息我们稍等 看下。多谢
配的是物理IP
上游发生切换,什么也不用改是最好的。但是我发现我之前连的主库是204,断网DM自动拉起之后,同步没有继续,然后把IP切到205之后,连接成功也同步成功了,但是我发现205现在是个slave。所以我觉得之前任务同步失败可能和切换IP没有啥关系,我想知道是什么原因导致的这个问题
您好:
`1. 从日志看是这个时间主库异常断开,导致无法连接
[2020/03/31 12:21:22.281 -04:00] [ERROR] [syncer.go:2032] [“fail to estimate unreplicated binlog size”] [task=ent_advertise] [unit=“binlog replication”] [error="[code=10001:class=database:scope=not-set:level=high] database driver error: dial tcp 172.16.100.204:3306: connect: connection timed out"] [errorVerbose="[code=10001:class=database:scope=not-set:level=high] database driver error: dial tcp 172.16.100.204:3306: connect: connection timed out
从日志看,4.1 5点多重启了dm-worker恢复的,这个时候已经改了ip对吧? [2020/04/01 05:36:26.320 -04:00] [INFO] [printer.go:54] [“Welcome to dm-worker”]
这个问题你只重启了task,实际上重启dm-worker应该就好了。 由于上游网络问题,relay log 没有恢复,并且只会做有限次的重连尝试,在你上游网络没有恢复前,重试完成。那么就需要重启dm-worker来恢复
应该先问老师的,搞得好复杂啊。谢谢老师解答
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。