can't get a free port

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】
v4.0.11
【问题描述】
执行:tiup playground --host ip
报错
Use the latest stable version: v4.0.11

Specify version manually:   tiup playground <version>
The stable version:         tiup playground v4.0.0
The nightly version:        tiup playground nightly

panic: can’t get a free port

goroutine 1 [running]:
github.com/pingcap/tiup/pkg/utils.MustGetFreePort(...)
github.com/pingcap/tiup/pkg/utils/freeport.go:42
github.com/pingcap/tiup/components/playground/instance.NewPDInstance(0x0, 0x0, 0xc00019bb40, 0x1d, 0x7ffe8816c62f, 0xe, 0x0, 0x0, 0x0, 0x0)
github.com/pingcap/tiup/components/playground/instance/pd.go:42 +0x1e5
main.(*Playground).addInstance(0xc0004b8000, 0x55e75472b1de, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, …)
github.com/pingcap/tiup/components/playground/playground.go:616 +0x3f7
main.(*Playground).bootCluster(0xc0004b8000, 0x55e754ebf408, 0xc00048e1c0, 0xc00048b260, 0xc0001ac400, 0x0, 0xc00048b260)
github.com/pingcap/tiup/components/playground/playground.go:714 +0x4f5
main.execute.func2(0xc00043b180, 0xc000494020, 0x0, 0x2, 0x0, 0x0)
github.com/pingcap/tiup/components/playground/main.go:180 +0x37b
github.com/spf13/cobra.(*Command).execute(0xc00043b180, 0xc000030190, 0x2, 0x2, 0xc00043b180, 0xc000030190)
github.com/spf13/cobra@v1.1.3/command.go:852 +0x472
github.com/spf13/cobra.(*Command).ExecuteC(0xc00043b180, 0xc000317ed8, 0x1, 0x1)
github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(…)
github.com/spf13/cobra@v1.1.3/command.go:897
main.execute(0xc000054748, 0x55e755479b60)
github.com/pingcap/tiup/components/playground/main.go:236 +0xebf
main.main()
github.com/pingcap/tiup/components/playground/main.go:375 +0x28
Error: run /root/.tiup/components/playground/v1.4.0/tiup-playground (wd:/root/.tiup/data/STKAftX) failed: exit status 2

查一下是不是有端口占用和防火墙

如果是端口占用,如果查看是哪个端口被占用了,有没有日志

看一下 2379 2380 端口


没有

检查填写的 ip 是不是有问题,然后再试试不指定 ip 是否能正常run 起来

不指定ip是可以run起来,指定ip就不行

ip应该没问题吧,我的阿里云外网ip就是这个,

  1. 先把 tiuip 版本升级到最新试试
  2. 看下阿里云外网的安全组是否放通了公网的ip和端口。
  3. 单机如果不需要外网访问,使用内网ip或者127.0.0.1 来安装tiup playground吧

楼主找到解决方法了吗,我这边也遇到了,一脸懵逼ing

用127.0.0.1行不行

我也没找到解决方法,不过用第二种方式在centos8上部署成功了,太难了

官网快速部署tiup cluster的方式

127.0.0.1是可以的,但没有意义吧

你指定了一个公网地址?
公网地址没有在机器的网卡上,是映射过来的。所以你得用机器上真实的IP地址,不能用绑定的公网地址

一般不建议绑定到外网的IP,这样不安全!

如果127.0.0.1 可以,那么找一下内网ip应该也可以的