field listen_host not found in type spec.GlobalOptions

【 TiDB 使用环境】测试
【 TiDB 版本】V6.5.1
【复现路径】
同样的安装拓扑文件,部署v6.1.0集群正常,销毁集群重新部署v6.5.1报错;

[root@tidb30 ~]#  tiup cluster check ./topology.yaml --user root -p
tiup is checking updates for component cluster ...
Starting component `cluster`: /root/.tiup/components/cluster/v1.11.3/tiup-cluster check ./topology.yaml --user root -p

Error: Failed to parse topology file ./topology.yaml (topology.parse_failed)
  caused by: yaml: unmarshal errors:
  line 17: field listen_host not found in type spec.GlobalOptions

Please check the syntax of your topology file ./topology.yaml and try again.

将 listen_host: 0.0.0.0 注释,即可正常部署v6.5.1集群;

listen_host: 0.0.0.0

【疑问】

  1. listen_host 作用;
  2. 为什么部署v6.5.1 需要注释;

【附件:截图/日志/监控】
topology.yaml (10.7 KB)

有没有试过部署V6.5.1版本时,通过这个版本来生成模板配置文件呢?看看里面有没有 listen_host这个参数

快速上手的安装文章中,案例模板中,也没有 listen_host这个参数啊
TiDB 数据库快速上手指南 | TiDB 文档中心

1,是监听主机的端口提供对外服务。
2,注释看着不爽可以删掉。

v6.5.1的配置文件果然没有这个参数

v.6.1.0 的配置文件,默认带。

v6.5 手册中有相关说明
https://docs.pingcap.com/tidb/v6.5/tiup-cluster-topology-reference/

添加参数以后,已经可以执行 check 了嘛?

check 报错

删掉参数还会报错吗?

过程梳理一遍:
1、v.6.1.0生成拓扑文件,部署v6.1.0正常;
2.销毁v6.1.0集群,利用原拓扑文件部署v6.5.1,报 listen_host: 0.0.0.0参数错误“line 17: field listen_host not found in type spec.GlobalOptions”;
3.注释 listen_host: 0.0.0.0 后,正常部署v6.5.1集群;
4.查v6.5.1 生成的拓扑示例文件中没有该listen_host参数,show-config也无;但官方文档有相关介绍。

疑惑:这是不是一个BUG?

在更新一点问题,前后 tiup 使用版本,和部署的方式是离线还是在线的。
因为 listen_host 是在 tiup 1.14 版本新增的,所以需要对比前后 tiup 版本、部署模式(离线or 在线)模式。cluster/dm: add gloabl listen_host by nexustar · Pull Request #2303 · pingcap/tiup · GitHub

v6.1.0 是在线安装;
v6.5.0 是本地源离线安装;
tiup 版本未变,

[root@tidb30 ~]# tiup -v
1.11.3 tiup
Go Version: go1.19.5
Git Ref: v1.11.3
GitHash: 7223ed50460785a2adf666d511a257aa03110294

可以考虑一下升级一下 TiUP 的工具版本哈,功能差异比较大的。

1 监听ip
2 默认带的