运行tiup cluster start tidb-test 启动集群报错 pd 节点启动失败

【 TiDB 使用环境】测试
【 TiDB 版本】7.5.0
【复现路径】

  1. tiup cluster stop tidb-test. 停止集群成功
  2. tiup cluster start tidb-test 启动集群失败,在启动pd实例时就失败了,控制台输出如下:
Error: failed to start pd: failed to start: 192.168.0.150 pd-11100.service, please check the instance's log(/mnt/filemanage/tidb/tidb-deploy/pd-2379/log) for more detail.: timed out waiting for port 11100 to be started after 2m0s

但是我去/mnt/filemanage/tidb/tidb-deploy/pd-2379/log下找日志文件,并没有新的日志生成
(我把旧的日志文件删除了)
然后我查看/root/.tiup/logs/tiup-cluster-debug-2015-01-13-00-11-17.log,显示如下:

2015-01-13T00:11:17.617+0800    INFO    Execute command finished        {"code": 1, "error": "failed to start pd: failed to start: 192.168.0.150 pd-11100.service, please check the instance's log(/mnt/filemanage/tidb/tidb-deploy/pd-2379/log) for more detail.: timed out waiting for port 11100 to be started after 2m0s", "errorVerbose": "timed out waiting for port 11100 to be started after 2m0s\ngithub.com/pingcap/tiup/pkg/cluster/module.(*WaitFor).Execute\n\tgithub.com/pingcap/tiup/pkg/cluster/module/wait_for.go:92\ngithub.com/pingcap/tiup/pkg/cluster/spec.PortStarted\n\tgithub.com/pingcap/tiup/pkg/cluster/spec/instance.go:129\ngithub.com/pingcap/tiup/pkg/cluster/spec.(*BaseInstance).Ready\n\tgithub.com/pingcap/tiup/pkg/cluster/spec/instance.go:167\ngithub.com/pingcap/tiup/pkg/cluster/operation.startInstance\n\tgithub.com/pingcap/tiup/pkg/cluster/operation/action.go:405\ngithub.com/pingcap/tiup/pkg/cluster/operation.StartComponent.func1\n\tgithub.com/pingcap/tiup/pkg/cluster/operation/action.go:534\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\tgolang.org/x/sync@v0.1.0/errgroup/errgroup.go:75\nruntime.goexit\n\truntime/asm_amd64.s:1650\nfailed to start: 192.168.0.150 pd-11100.service, please check the instance's log(/mnt/filemanage/tidb/tidb-deploy/pd-2379/log) for more detail.\nfailed to start pd"}

没有找到更多的信息,不知道什么原因造成的启动失败
【遇到的问题:问题现象及影响】没有看到明确的日志说明为什么pd启动失败,我应该如何进一步排查?

我的这个目录的权限就是755啊。。。

是高版本做了修改?提高安全?,我看6.1 版本跟你是一样的权限

你好,我弄错了日志,那个是旧的日志,实际上没有输出新的错误信息。我重新编辑了贴子信息。现在因为没有明确的错误信息,不知道如何进一步排查。

你好,我弄错了日志,我重新编辑了贴子,实际上没有看到新的输出日志,但是pd失败原因不知道如何进一步分析

看一下是不是端口配占用了 11100


查了下发现没有占用

[root@localhost pd-2379]# cd log
[root@localhost log]# ls
[root@localhost log]# ps -ef|grep 11100
root     2899592 2801206  0 00:23 pts/1    00:00:00 grep --color=auto 11100
[root@localhost log]# netstat -anp|grep 11100
[root@localhost log]# 

telnet 这个端口通吗

telnet不通

telnet不通

telnet端口不通,启动肯定会报错吧。先把这个网络问题解决先才行。

你好,服务没启动成功,这个端口肯定是不通的吧,网络没有问题

11100 这个是我设为pd的监听端口,pd启动失败,这个端口肯定是不会通的

pd的scripts目录下 手动跑下run_pd.sh试试
或者systemctl start 看看

去部署PD目录下面找到scripts,手动执行一下run_pd.sh看看有没有输出什么信息

直接执行脚本卡住了,什么都没有输出,我用tiup的话也是卡住很久

直接执行脚本,发现生成了日志,日志显示如下:

[root@localhost log]# cat pd_stderr.log
2024-05-07 17:08:08.140755 W | pkg/fileutil: check file permission: directory "/mnt/filemanage/tidb/tidb-data/pd-2379" exist, but the permission is "drwxr-xr-x". The recommended permission is "-rwx------" to prevent possible unprivileged access to the data.

我的目录权限当前如下:

然后我把权限改成如下,反而什么日志都没有再产生,也卡住在那里

这个报错我觉得不应该会导致出现起不来的情况,看一下pd.log范围的信息。
您说的那个卡住应该不算是卡住吧,是进程一直在运行,没有加入后台而已?应该是PD起来了,然后才会生成这些东西。

我理解权限对了 问题应该解决了。

太奇怪了,又可以了,不知道是不是跟我把目录权限改成700有关,但是我又改回去试了下,重新stop集群,再start集群,又都没问题。弄到最后也不知道是啥原因,最后就是可以了。