MyronWang
(Myron Wang)
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】
MySQL: 5.7.22-log MySQL Community Server (GPL)
TiDB: v4.0.11
DM: v2.0.1
【问题描述】
从昨天开始,dm-master已经出现几次状态突然变为“Down”的情况,导致同步中断。
我查看了 dm-master 的日志,并没有找到 dm-master 进程停止的日志,显然进程是运行的,但是不知道为什么状态变为“Down”了。在master的日志中,并没找到有效日志;系统日志正常。还请帮忙排查下,谢谢。
目前是单机部署的 DM 集群,如下:
中间没截全,都是 dm-worker ,有50个。
MyronWang
(Myron Wang)
2
我重启了 DM 集群,然后开启 dm-master 的 debug 日志。后来复现了这个问题,过滤到 error 级别的日志,主要有:
小王同学
3
1 个 dm-master 吗? 2.0 DM 具备高可用功能,建议再扩容两个 dm-master 节点看下。
MyronWang
(Myron Wang)
4
目前就是单机搭建的,一个 dm-master ,这个架构使用有近一月了。最近突然出现的这种情况。
后面生产环境准备按照建议的搭建,非生产环境省资源,只能这样了。
能帮忙定位下问题吗?感觉 dm-master 的有效日志输出好少,根本不知道为什么变成 “Down” 了。看了下出问题时候的日志,不断有 bound 和 unbound ,同一个 task 。
小王同学
5
从上面截图中报错是 DM- master 中内嵌的 etcd 有些问题,租约不存在或者已过期都会报错。而单节点没有高可用,因此 dm-master 有问题就 down 掉了。建议你这边还是扩容到三个 dm-master 吧。
https://doczhcn.gitbook.io/etcd/index/index/interacting_v3
MyronWang
(Myron Wang)
6
但是,如果我现在就是三个 dm-master 组成的集群,如果其中一个 dm-master 异常了,虽然整个集群是可用的,但是我也想知道那个 dm-master 为什么异常了;否则,如果同时两个 dm-master 都异常了,那集群不还是用不了么。
我看官方文档,etcd 是内嵌在 dm-master 的,那我怎么访问 etcd 呢,也就是 etcd 的监听地址如何查询?
小王同学
7
访问不了。那你拿下日志吧。看看是否有完整内容打印。
MyronWang
(Myron Wang)
8
dm_master_down.log.zip (229.2 KB)
你好,附近是 dm-master 从健康状态到 Down 状态期间的所有 debug 日志。
小王同学
9
不好意思,我看下这个问题,目前可以扩容一下 dm-master 防止影响同步。
小王同学
10
从日志看,你这还是 info 类型的 log,你这边修改下 日志级别再看下吧。