gossip.discovery Закрытие соединения с конечной точкой? - PullRequest
0 голосов
/ 30 января 2020

Я создал сеть с 2orgs каждый с 2peers и 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) следующим образом:

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

После удаления внешних конечных точек я не вижу этих ошибок.

Если я правильно понял, bootstrap сделает порт общедоступным c для пиров внутри организации в связываются, и внешняя конечная точка делает порт доступным c, чтобы одноранговые узлы могли взаимодействовать с одноранговыми узлами в разных организациях. Разве это не правильно?

Заранее спасибо

1 Ответ

1 голос
/ 30 января 2020

Вы вставляете неверные значения в свои переменные.

Взяв в качестве примера peer0org1, CORE_PEER_GOSSIP_EXTERNALENDPOINT должен содержать адрес peer0org1, и это адрес, по которому ваш коллега прослушивает события сплетни. CORE_PEER_GOSSIP_ BOOTSTRAP вместо этого должен указывать на другого пира с активированной внешней конечной точкой сплетни, в вашем случае это от 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

Таким образом, узлы должны соединиться друг с другом и начать выборы.

В В вашем конкретном случае вы не можете позволить им общаться, потому что они из другой организации. Мой был просто примером, но вы можете использовать его для адаптации к вашему решению. Вам не нужно gossi, если у вас есть 1 пир для организации, но если у вас есть 2 пира для организации, вы можете позволить им общаться, как я сказал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...