PD组件无法连接上TIDB报错fail to load safepoint from pd

【 TiDB 使用环境】生产环境
【 TiDB 版本】V8.1.0
【复现路径】没做过任何操作
【遇到的问题:问题现象及影响】PD连接不上TIDB组件,TIDB侧报错“[2024/11/07 19:48:43.227 +08:00] [ERROR] [kv.go:324] [“fail to load safepoint from pd”] [error=“context deadline exceeded”]”
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
故障的PD组件日志

网络和端口是OK的在之前没做过任何操作,请教大神指点

TIDB侧报错日志,奇怪的是第一台TIDB组件没报错,第二台TIDB一直在报错

tail -f /data/tidb-deploy/tidb-4000/log/tidb_stderr.log

从报错日志上来看像是网络的问题但是我测试了TIDB——>PD(2379/2380)、PD——>TIDB(4000/10080)的端口都是OK的

上个集群的拓扑和配置情况

1 个赞


dashboard里显示PD只存活4台但是 PD实际有5台,那台无法加入到集群的pd一直再重启,这台pd也不是新加入的,一开始部署的时候就有


那台有问题的PD启动后就报了这个

tiup 的状态和 dashboard 的状态一致么?

第五个 pd 的日志有么?看看错误情况

大佬,我试着把有问题那台PD缩容后重新扩容,现在那台PD 没有报错了,但是TIDB Server第二台还是一直再报错如下:

dashboard上只能看到4台PD,tiup display可以看到5台PD 但是有一台状态为down,第五个PD的日志如下,第五台PD没有报错:

集群的状态看起来不太对… 最好核查下,有点奇怪

“fail to load safepoint from pd” 这个错误通常指的是 TiKV 节点在尝试从 PD(Placement Driver)获取 safepoint 信息时失败了,查看磁盘负载是否过高,内存是否充足,如果不充足,建议不要关闭swap,设置vm.swappiness=1。如果不行,就把有问题的tidb server先缩容,再扩容试试

有节点重启了么?或者修改防火墙么?看看防火墙状态。

之前PD节点的2379扫描出来了个etcd未授权访问漏洞,然后加了条策略 。只允许TIDB内部访问PD组件,然后就出现了这个报错,我把PD缩容了 在扩容,那台故障的PD已经成功加入到集群里了,但是第二胎TIDB节点 还一直在报错,第一台TIDB Server好好的 没报错,我测了TIDB Server到PD的网络和端口都是通的

不然试试故障的 tidb 扩缩容下 或者加个服务器扩容一个看看有没有问题。异常的缩容掉呢。

还有看下 tidb-server 部署目录下 scripts 目录下 run_tidb.sh 脚本内容发来看看。