在阿里云进行Fabric的多机部署需要注意的几个坑

深蓝大神的《Fabric 1.0的多机部署》等博客给初学者很多入门的指导。从这篇博客中可以看到深蓝所用的5个节点时同一局域网下的几个,和利用阿里云服务器进行多机部署有几个地方需要注意。

1. Fabric源码的版本不同会导致后面各种报错(例如orderer无法启动),直接通过git下载下来的会是最新版本,需要切换到Fabric v1.0.0版本

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0

2. 在我们开通阿里云服务器后,默认的安全组仅会开放22 和3389端口,分别是linux 和Windows的远程登录端口,但是在我们的docker-compose-orderer.yaml和docker-compose-peer.yaml配置文件中看出来是通过7050端口去访问的,所以我们点击实例安全组,配置开放端口,入方向和出方向均需要添加,配置如下。如果不配置,会报下面的错误

grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: i/o timeout"; Reconnecting to {orderer.example.com:7050 }
Error: Error connecting due to rpc error: code = Unavailable desc = grpc: the connection is unavailable

在阿里云进行Fabric的多机部署需要注意的几个坑_第1张图片

3. orderer和4个peer的配置文件,推荐直接下载深蓝大神博客下面的压缩包,然后改一下里面的ip地址,自己改容易改漏,然后各种报错。

4. 当orderer和4个peer全部起来后,利用

./scripts/script.sh mychannel

开始创建通道,如果第一次通道没有创建成功并报错,第二次重新执行该命令,会有如下报错

Error: Got unexpected status: BAD_REQUEST

这种报错就很头大,完全不知道错在哪,一般都是channel已经存在,无法重新创建。

可以在cli容器中输入命令,查看channel是否已经存在。

peer channel list 

一般这种情况,直接在~go/src/github.com/hyperledger/fabric/examples/e2e_cli目录下面,删除容器,重启各个节点,删除容器的命令是

docker rm -f $(docker ps -aq)


以上是自己在5个阿里云服务器上部署Fabric多节点过程中遇到的几个问题和解决办法。


你可能感兴趣的:(在阿里云进行Fabric的多机部署需要注意的几个坑)