为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
center os 7.4 ,vm 虚拟机
【概述】 场景 + 问题概述
执行br 备份全库操作时错误:
[root@ty27 bin]# ./br backup full --pd “192.168.10.7:2379” --storage “local:///tmp/backup” --ratelimit 120 --log-file backupfull.log
Detail BR log in backupfull.log
Error: [pd] failed to get cluster id
【TiDB 版本】
v5.0.0
机器间都是互相ping的通的
这个是什么问题,
1 个赞
应该不是权限的问题, tidb用户有无密码sudo root的权限,日志也没有报权限相关的错
2 个赞
YuJuncen
(Yu Juncen)
9
看起来似乎是 PD 和 BR 之间连接不畅……
在 BR 节点上执行 curl http://{pdAddr}/pd/api/v1/cluster/status
,看看能不能成功返回?
一些猜测:
PD 有没有启动 TLS?如果启动了试试看 -u https://<pd-addr>
?
或者 BR 节点和 PD 之间有没有防火墙?
1 个赞
网络是通的,防火墙是关闭的。curl http://{pdAddr}/pd/api/v1/cluster/status 没有返回信息
1 个赞
所有pd 节点都试过,一样的。而且我看视频里面也没有要求 pd 节点一定要是 leader,应该随便一个pd 节点就行吧
1 个赞
是的,文档里面说随便一个pd都行,但是我以前碰到过用leader就行别的不行
也可能是恰好碰到其他问题了
1 个赞
我都是按照视频里面一步一步的来的,纳闷。操作系统你用的什么版本 centeros7.4?
1 个赞
YuJuncen
(Yu Juncen)
17
这有点奇怪,正常状态下应该返回一段 JSON:
$ curl ${pd_addr}/pd/api/v1/cluster/status
{
"raft_bootstrap_time": "2021-10-23T20:00:20.328082557+08:00",
"is_initialized": true,
"replication_status": ""
}
可以检查一下 PD 的日志吗?
YuJuncen
(Yu Juncen)
19
听起来更加奇怪了,目前的猜测:
- PD 的 handler panic 了,这样应该在 PD 的 stderr 中会有体现(如果使用 tiup,应该在
${deploy-dir}/pd-${port}/log/pd_stderr.log
中)。
- TCP 层不通,可能有包被异常截断了(但是如果集群能正常运行的话,这个的概率可能不高),这个可能性可以在 PD 的机器上通过 nc 监听一些端口,然后在 BR 的机器上连接试试看。
如果方便的话,可以上传一下完整的 PD 日志吗?(包括 pd.log 和 pd_stderr.log)
pd.log (20.0 KB)
只有 pd.log 文件中有内容, pd_stderr.log 是空的
YuJuncen
(Yu Juncen)
22
[2021/10/28 15:41:22.580 +08:00] [WARN] [grpclog.go:60] ["transport: http2Server.HandleStreams failed to read frame: read tcp 192.168.10.6:2379->192.168.10.12:58206: read: connection reset by peer"]
看起来是 gRPC 的 TCP 连接被重置了,具体原因还不明确。要不要用 nc / telnet 一类的工具试试看机器之间能不能正常 TCP 通信?如果不行可能就是网络不通畅的问题了;如果可以那就说明可能存在一些更加隐晦的问题
。