为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
全nvme生产环境,通过operator部署于kubernetes集群中
【概述】 场景 + 问题概述
通过statefulset方式在同一个kubernetes集群中部署了1master3worker的dm集群
【备份和数据迁移策略逻辑】
每个worker上都在运行上游mysql的同步任务
【背景】 做过哪些操作
现在master所在节点需要下线维护,参考了生产环境高可用方案,将statefulset.apps.pingcap.com/dm-cluster-dm-master中
的replica
副本数调整为3(相当于先扩容了2个master,待master之间数据同步完成后再删除老的dm-master)
【现象】 业务和数据库现象
在老的dm-master中查询当前任务:
./dmctl --master-addr 127.0.0.1:8261 query-status
{
"result": true,
"msg": "",
"tasks": [
{
"taskName": "mysql-01-sync-task",
"taskStatus": "Running",
"sources": [
"mysql-replica-01"
]
},
{
"taskName": "mysql-02-sync-task",
"taskStatus": "Running",
"sources": [
"mysql-replica-02"
]
}
]
}
在两个新的dm-master执行同样的命令:
./dmctl --master-addr 127.0.0.1:8261 query-status
{
"result": true,
"msg": "",
"tasks": []
}
可以看到,新的dm-master中并不能看到task任务,查看启动命令如下:
老的dm-master中的启动命令为:
/dm-master --data-dir=/var/lib/dm-master --name=dm-cluster-dm-master-0 --peer-urls=http://0.0.0.0:8291 --advertise-peer-urls=http://dm-cluster-dm-master-0.dm-cluster-dm-master-peer:8291 --master-addr=:8261 --advertise-addr=dm-cluster-dm-master-0.dm-cluster-dm-master-peer:8261 --config=/etc/dm-master/dm-master.toml
新增的dm-master副本中的启动命令如下:
/dm-master --data-dir=/var/lib/dm-master --name=dm-cluster-dm-master-1 --peer-urls=http://0.0.0.0:8291 --advertise-peer-urls=http://dm-cluster-dm-master-1.dm-cluster-dm-master-peer:8291 --master-addr=:8261 --advertise-addr=dm-cluster-dm-master-1.dm-cluster-dm-master-peer:8261 --config=/etc/dm-master/dm-master.toml --initial-cluster=dm-cluster-dm-master-1=http://dm-cluster-dm-master-1.dm-cluster-dm-master-peer:8291
【问题】 当前遇到的问题
新的dm-master节点实际上没有加入集群,有没有相关文档说明这种情况下手动操作方式,或自动的解决方案(不是参数说明文档)
【业务影响】
无法增减dm-master节点的数量,高可用实际上没有起作用,只是增加了dm-master副本数量
【TiDB 版本】
v5.0.1