如何使用`tiup dm edit-config`命令查看 DM 集群配置?

tiup dm edit‑config 查看 DM 集群配置

背景:tiup dm 没有 show‑config 只读命令edit‑config本意是编辑拓扑配置,可用来查看集群 YAML 拓扑(global、master_servers、worker_servers、server_configs 等)TiDB。

1. 先查看 DM 集群名称

tiup dm list

拿到集群名,例如 dm‑prod

2. 打开配置(查看)

tiup dm edit-config dm-prod
  • 默认拉起 vi 编辑器;环境变量 $EDITOR 不为空,则使用指定编辑器TiDB。
  • 文件内容就是 TiUP 保存的 DM 集群完整拓扑配置 yaml:全局参数、master、worker 实例、server_configs 组件参数。

3. 只查看,绝不保存修改(关键)

:warning: 生产环境只读查看,千万不要保存写入,否则会写入 tiup 本地元数据,一旦执行tiup dm reload就会下发变更到集群。

  • vi 只看不修改退出:输入 :q 回车退出(q=quit,不保存)TiDB。
  • 如果误改动了内容:必须用 :q! 强制放弃修改退出。
  • 只有你确实要改配置时,才用:wq保存,保存后还需要执行 tiup dm reload <cluster‑name> 配置才真正下发到 DM 组件生效TiDB Archi…。

4. 想把配置导出到文件(不用进 vi 交互)

tiup dm edit‑config 没有直接导出参数;可以绕一下:

# 先找到tiup内部DM集群元数据目录
ls ~/.tiup/storage/dm/clusters/dm-prod/
cat ~/.tiup/storage/dm/clusters/dm-prod/meta.yaml

meta.yaml 就是集群拓扑配置文件,直接 cat 即可打印完整配置,适合脚本获取,不用打开 vi 编辑器。

5. 相关补充命令

# 查看集群实例状态(端口、部署目录,看不到server_configs自定义参数)
tiup dm display dm-prod

# 修改配置后真正生效(只读查看不要执行)
tiup dm reload dm-prod

常见坑

  1. tiup dm display只能看到实例信息,看不到 server_configs 下自定义组件参数,必须看 meta.yaml 或 edit‑config 打开的文件。
  2. edit‑config 只修改中控机 tiup 本地元数据,不执行 reload,DM‑master/DM‑worker 进程不会加载新配置TiDB。
  3. 不要在 edit‑config 中增删节点,增删节点要用 scale‑out/scale‑in 命令。

小结两种查看方式

  1. 交互式:tiup dm edit‑config dm‑prod → vi 打开,:q退出只读。
  2. 脚本 / 导出:cat ~/.tiup/storage/dm/clusters/dm‑prod/meta.yaml

tiup dm list 拿到集群名,再 tiup dm edit-config <name> 打开拓扑 YAML。只看配置时在 vi 里 :q 退出,误改用 :q!,不要 :wq,否则会写本地元数据,随后 tiup dm reload 就会下发到集群。只读导出可直接看 ~/.tiup/storage/dm/clusters/<name>/meta.yaml

建议直接用 tiup dm edit-config 查看,操作没问题,但补充几个实用点:

  • 如果只想看不想动,用 :q 退出即可,别按 :wq,否则会写入本地元数据,误触发 reload 就麻烦了。
  • 想导出配置,建议直接 cat ~/.tiup/storage/dm/clusters/<集群名>/meta.yaml,比进 vi 方便,还能用 grep 过滤关键参数。
  • 如果集群名不确定,先 tiup dm list 确认。

通过 tiup dm edit-config <cluster-name> 使用 vi 编辑器打开集群拓扑配置,只读查看后输入 :q 退出(或直接 cat ~/.tiup/storage/dm/clusters/<cluster-name>/meta.yaml 非交互式查看)。

刚接触tidb的时候手动改过yaml文件,把集群整挂了 :joy:

1 个赞