在不同的 vpc 里面 tiup v1.0.9 如何配置才能通过虚拟 IP 实现互通

pd,tidb,kv再不同的vpc里面需要通过虚拟IP互通,使用TIUP部署的时候因为填的是虚拟IP,并不是网卡绑定IP,导致服务器端口启动失败,这个有办法解决吗?是否支持监听端口启动使用0.0.0.0
附上tiup配置文件

global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/mnt/data/tidb-deploy"
  data_dir: "/mnt/data/tidb-data"

server_configs:
  tidb:
    isolation-read.engines:
    - tikv
    - tidb

pd_servers:
  - host: 虚拟IP
  - host: 虚拟IP
  - host: 虚拟IP

tidb_servers:
  - host: 虚拟IP
  - host: 虚拟IP
  - host: 虚拟IP

tikv_servers:
  - host: 虚拟IP
  - host: 虚拟IP 
  - host: 虚拟IP

tiflash_servers:
  - host: 虚拟IP


1 个赞

使用 listen_host 指定监听的 host。

pd_servers:
  - host: 虚拟IP
    listen_host: 0.0.0.0
  - host: 虚拟IP
  - host: 虚拟IP

tidb_servers:
  - host: 虚拟IP
  - host: 虚拟IP
  - host: 虚拟IP

tikv_servers:
  - host: 虚拟IP
  - host: 虚拟IP 
  - host: 虚拟IP

tiflash_servers:
  - host: 虚拟IP

Error: Failed to parse topology file /home/tidb/setup.yaml (topology.parse_failed)
caused by: yaml: unmarshal errors:
line 40: field listen_host not found in type spec.TiFlashSpec

tiflash没有这个参数吗?

恩,tiflash 没有这个参数,tiflash 可以通过配置来指定监听端口。https://docs.pingcap.com/zh/tidb/stable/tiflash-configuration#tiflash-配置参数

好的多谢

:handshake:

好像是没用的哦
我的配置文件更改为

pd_servers:

  - host: 10.25.6.30

    listen_host: 0.0.0.0

tiup cluster start 的时候pd服务器依旧报错,报错信息如下

[2020/08/19 10:45:55.612 +08:00] [FATAL] [main.go:119] ["run server failed"] [error="listen tcp 10.25.6.30:2380: bind: cannot assign requested address"] 

请问你什么的 tiup,可以将命令行 tiup --binary cluster 输出贴一下吗?

[root@tidb-001 ~]#  tiup --binary cluster
/root/.tiup/components/cluster/v1.0.9/tiup-cluster

看起来是一个 BUG,https://github.com/pingcap/tiup/blob/master/templates/scripts/run_pd.sh.tpl#L28 这里没有用 listen_host,你方便在对应的机器修改一下启动脚本,把 peer-urls 这里的 ip 修改为 0.0.0.0 测试一下吗?我们尽快修复。

1 个赞

ok 修改了pd的run_pd.sh,可以正常启动了

辛苦了,如果使用 tiup cluster reload 这个脚本会被刷新,我们会尽快修复这个 BUG。

好的 有解决办法就行了,麻烦了

感谢支持,issue :https://github.com/pingcap/tiup/issues/691 辛苦关注下

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。