我创建了一个网络,每个orgs有2个节点和1ca。
创建网络后,我得到的错误是:
peer0.org2.example.com|2020-01-30 06:30:18.279 UTC [gossip.comm] func1 -> WARN 048 peer0.org1.example.com:7051, PKIid:5a9ed9a3592dd14008b90c942f302ef06aa590060ee281d4750ebb1b76dd2e5e isn't responsive: EOF
peer0.org2.example.com|2020-01-30 06:30:18.279 UTC [gossip.discovery] expireDeadMembers -> WARN 049 Entering [5a9ed9a3592dd14008b90c942f302ef06aa590060ee281d4750ebb1b76dd2e5e]
peer0.org2.example.com|2020-01-30 06:30:18.279 UTC [gossip.discovery] expireDeadMembers -> WARN 04a Closing connection to Endpoint: peer0.org1.example.com:7051, InternalEndpoint: , PKI-ID: 5a9ed9a3592dd14008b90c942f302ef06aa590060ee281d4750ebb1b76dd2e5e, Metadata:
peer0.org2.example.com|2020-01-30 06:30:18.280 UTC [gossip.discovery] expireDeadMembers -> WARN 04b Exiting
适用于所有同行
我已经设置了八卦参数(在docker-compose.yml中(,如下所示:
端口 7051 peer0.org1.example.com:
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org1.example.com:10051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
使用端口 10051 peer1.org1.example.com
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:10051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
端口 8051 peer0.org2.example.com:
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:9051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:8051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
端口 9051 的 peer1.org2.example.com
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:8051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:9051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
删除外部端点后,我没有看到这些错误。
如果我做对了,引导程序使端口公开,供组织内的对等方进行通信,外部端点使端口公开,以便对等方可以与不同组织中的对等方进行通信。难道不是吗?
提前致谢
您在变量中插入了不正确的值。
以peer0org1为例,CORE_PEER_GOSSIP_EXTERNALENDPOINT应该包含 peer0org1 地址,这是您的对等方侦听八卦事件的地址。CORE_PEER_GOSSIP_BOOTSTRAP应该指向另一个激活了 gossip 外部端点的对等方,在您的情况下是来自 org2 的对等方
所以它应该是: 端口 7051 peer0.org1.example.com:
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:8051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
端口 8051 peer0.org2.example.com:
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:8051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
通过这种方式,对等方应该相互连接并开始选举。
在您的特定情况下,您不能让他们通信,因为他们来自不同的组织。 我的只是一个例子,但您可以使用它来适应您的解决方案。 如果你有 1 个组织对等方,你不需要 gossi,但如果你有 2 个组织对等方,你可以让他们像我说的那样交流。