我已经创建了一个有2orgs的网络,每个2orgs有2Peer和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对于所有同级
我已经像这样设置了gossip参数(在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删除外部端点后,我看不到这些错误。
如果我没弄错的话,bootstrap将端口设置为公共端口,供组织内的对等点进行通信,而外部端点将端口设置为公共端口,这样对等点就可以与不同组织中的对等点进行通信。对不对?
提前感谢
发布于 2020-01-30 16:31:42
您在变量中插入了不正确的值。
以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通过这种方式,同级应该相互连接并开始选举。
在您的特定情况下,您不能让他们通信,因为他们来自不同的组织。我的只是一个例子,但你可以使用它来适应你的解决方案。你不需要gossi,如果你有一个同级组织,但如果你有2个同级组织,你可以让他们沟通,如我所说。
https://stackoverflow.com/questions/59980484
复制相似问题