调用Chaincode遇14 UNAVAILABLE连接失败错误,节点正常求排查
我之前也碰到过类似的连接问题,结合你的报错信息和提供的package.json配置,给你梳理几个大概率的原因和对应的排查方向:
gRPC版本兼容性问题:你的项目里
fabric-client和fabric-ca-client都是1.1.0版本,但grpc用的是^1.9.0。Hyperledger Fabric 1.1.x版本的客户端对gRPC版本有严格的适配要求,1.9.0版本和1.1.0的fabric客户端存在已知的兼容性问题,会导致连接Peer时失败。建议你卸载当前的grpc,重新安装适配版本——fabric-client 1.1.0官方推荐的grpc版本是1.10.x,执行以下命令:npm uninstall grpc npm install grpc@1.10.1 --savePeer节点连接配置错误:
- 检查客户端的连接配置文件(connection profile)里,Peer节点的地址是否正确:比如IP/域名是否和实际Peer部署的地址一致,端口是否正确(默认gRPC端口是7051,event端口是7053)。如果Peer是用Docker部署的,要确认端口是否正确映射到宿主机,客户端是否能访问到这个端口。
- 如果Peer开启了TLS,客户端配置里必须正确指定TLS根证书路径,否则会因为证书验证失败导致连接中断。检查你的客户端代码里是否加载了正确的TLS证书,或者在connection profile里是否配置了
sslTargetNameOverride等必要参数。
Event Hub配置异常:报错明确提到了
eventhub,大概率是Event Hub的连接配置有问题:- 确认Peer节点的event服务是否正常启动:查看Peer的配置文件(core.yaml)里的
events.address参数,确认服务监听的地址和端口是否正确,且没有被禁用。 - 检查客户端代码里初始化Event Hub时使用的地址是否和Peer的event服务地址一致,有没有写错端口或者IP。
- 确认Peer节点的event服务是否正常启动:查看Peer的配置文件(core.yaml)里的
网络连通性问题:即使Peer看起来运行正常,也要确认客户端所在机器和Peer节点之间的网络是通的:
- 用
ping <peer-ip>测试基础连通性,再用nc -zv <peer-ip> 7051和nc -zv <peer-ip> 7053测试gRPC端口和event端口是否能正常访问。如果端口不通,检查防火墙、安全组或者Docker网络配置是否阻止了流量。
- 用
内容的提问来源于stack exchange,提问作者anjy
相关产品推荐
相关产品推荐

