0

我创建了一个有 2 个组织的网络,每个组织有 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

对于所有同龄人

我已经像这样设置了 gossip 参数(在 docker-compose.yml 中):

peer0.org1.example.com 与端口 7051:

- 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

peer1.org1.example.com 与端口 10051

- 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

peer0.org2.example.com 与端口 8051:

- 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

peer1.org2.example.com 与端口 9051

- 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

删除外部端点后,我看不到这些错误。

如果我做对了,则引导程序将端口公开以供组织内的对等方进行通信,而外部端点使端口公开,以便对等方可以与不同组织中的对等方进行通信。不是吗?

提前致谢

4

1 回答 1

1

您在变量中插入了不正确的值。

以 peer0org1 为例, CORE_PEER_GOSSIP_EXTERNALENDPOINT应该包含 peer0org1 地址,这是您的对等方侦听八卦事件的地址。 CORE_PEER_GOSSIP_BOOTSTRAP应该指向另一个激活了 gossip 外部端点的对等点,在您的情况下是来自 org2 的对等点

所以应该是:peer0.org1.example.com,端口为 7051:

- 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

peer0.org2.example.com 与端口 8051:

- 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 个组织同行,您可以让他们按照我所说的进行交流。

于 2020-01-30T08:31:42.353 回答