【 TiDB 使用环境】生产环境
【 TiDB 版本】V7.5.1
【复现路径】
【遇到的问题:】
【资源配置】*
【其他附件:截图/日志/监控】
通过tiup 部署的 DM ,如何安全的关闭或重启 DM Worker
停止TiDB DM-worker通常有以下几种方法:
通过dmctl命令停止相关任务
如果是想停止DM-worker正在执行的数据迁移任务,可以使用dmctl工具的stop-task命令。基本语法为:
dmctl stop-task (-s source...) <task-name | task-file>
例如:
dmctl stop-task (-s "mysql-replica-01") task-name
其中,-s
参数用于指定MySQL数据源ID,可选,如果设置了该参数,则只会停止指定数据源上的子任务;<task-name | task-file>
为必选参数,用于指定任务名称或任务文件路径。执行该命令后,DM-worker会停止执行对应的迁移任务。不过要注意,任务停止后,检查点和其他相关信息仍保留在dm_meta
数据库中。
在Kubernetes环境中停止Pod
如果TiDB DM-worker是部署在Kubernetes环境中,可以通过删除对应的Pod来停止它。
- 首先,需要获取DM-worker所在Pod的名称,可以使用以下命令进行查询:
kubectl get pods -n <namespace> | grep dm-worker
将<namespace>
替换为实际的命名空间。
2. 然后,使用以下命令删除Pod:
kubectl delete pod <pod-name> -n <namespace>
将<pod-name>
替换为实际的DM-worker Pod名称,<namespace>
替换为实际的命名空间。默认情况下,Kubernetes会发送SIGTERM信号给Pod中的容器,让容器进行优雅退出,如果在优雅退出时间内没有完成退出,Kubernetes会发送SIGKILL信号强制终止容器。
通过TiUP部署停止
如果是通过TiUP部署的TiDB DM-worker,可以使用TiUP命令来停止。一般步骤如下:
- 先进入到部署DM-worker的目录,找到对应的配置文件。
- 执行TiUP的停止命令,例如:
tiup dm stop -c <config-file>
将<config-file>
替换为实际的配置文件路径,这样可以停止TiUP管理的DM-worker服务。
1 个赞
和tiup管理tidb集群一样的
tiup dm stop cluster-name -N IP:port
https://docs.pingcap.com/zh/tidb/stable/tiup-component-dm
1 个赞