简介
根据b站教学视频去学习搭建多机网络二进制安装部署Orderer节点时遇到了一些问题,在这里对这些小问题进行处理。
问题描述以及解决方案
问题描述:日志报错信息Failed pulling the last config block: retry attempts exhausted channel=fabric-channel node=2。
在这条报错信息上还有额外的警告信息如下图:
大致的意思就是说DNS解析失败,域名解析失败。这里附上chatGPT的讲解。
- DNS解析错误: 确保你的网络配置正确,可以通过域名解析找到Orderer节点。检查你的主机(部署Orderer节点的主机)的DNS设置,确保可以正确解析 order2.example.com、order1.example.com 和 order0.example.com。
- 网络配置错误: 确保你的网络配置中没有任何问题,包括网络连通性、防火墙配置等。尝试通过 ping order2.example.com 来测试网络是否正常。
- Hosts文件检查: 在执行节点的主机上检查 /etc/hosts 文件,确保在这个文件中有相应的主机名到IP地址的映射。
- 防火墙问题: 检查主机上的防火墙设置,确保允许Orderer节点使用的端口进行通信。
- DNS服务器问题: 检查 DNS 服务器是否正常工作,如果使用的是本地DNS服务器,确保它能够正确解析你的 Orderer 节点的域名。
- IP地址直接使用: 如果域名解析存在问题,你可以尝试直接在配置中使用IP地址而不是域名。
根据上述的提示内容,由于我使用的不是本地虚拟机,而是腾讯云的服务器,所以我第一时间就是检查防火墙是否打开。确认防火墙打开后,我去检查/etc/hosts文件中的域名是否为内网地址。结果发现填写的内容不是内网地址,而是公网地址。将公网的地址替换成内网的地址即可。
注意
order.yaml文件中的ListenAddress需要填写的是内网的地址