从具有与我自己相同的PKI-ID的对等方收到AliveMessage

问题描述 投票:0回答:2

我正在尝试将Hyperledger Fabric入门移植到Kubernetes。但我正在努力让peer1部署。如果我启用CORE_PEER_GOSSIP_BOOTSTRAP,我会收到错误“从具有与我自己相同的PKI-ID的对等方收到AliveMessage”。

如何调试具有相同PKI-ID的对等体?

以此为出发点:

https://hyperledger-fabric.readthedocs.io/en/latest/getting_started.html

我能够创建:

  • orderer命名空间中的clidefault pods
  • peer0是每个org1 | org2命名空间中的一个。
  • peer1的,但只有我禁用(评论)CORE_PEER_GOSSIP_BOOTSTRAP

如果我为CORE_PEER_GOSSIP_BOOTSTRAP启用peer1,我收到以下警告和错误:

[gossip/gossip#10.0.0.10:7051] NewGossipService -> WARN 01c External endpoint is empty, peer will not be accessible outside of its organization
...
[gossip/discovery#10.0.0.10:7051] handleAliveMessage -> ERRO 02a Bad configuration detected: Received AliveMessage from a peer with the same PKI-ID as myself: tag:EMPTY alive_msg:<membership:<pki_id:"[[REDACTED]]" > timestamp:<inc_number:1495468533769417608 seq_num:416 > >

为了更好地将OrdererPeers映射到DNS名称,我正在使用Kubernetes命名空间和此配置:

OrdererOrgs:
  - Name: Orderer
    Domain: default.svc.cluster.local
    Specs:
      - Hostname: orderer
PeerOrgs:
  - Name: Org1
    Domain: org1.svc.cluster.local
    Template:
      Count: 2
    Users:
      Count: 2
  - Name: Org2
    Domain: org2.svc.cluster.local
    Template:
      Count: 2
    Users:
      Count: 2

为了将peer0暴露给组织中的其他同伴并暴露orderer,我为ClusterIP(仅选择peer0)和peer0提供orderer服务。它不够优雅,但我试图让它工作,然后让它更美丽地工作。

我能够在部署到集群默认的pod中使用nslookup解析orderer.default.svc.cluster.localpeer0.org1.svc.cluster.local,`peer0.org2.svc.cluster.local'。

如果没有gPRC的卷曲工具,我可以在70517053上打开这些端点的插座。

kubernetes hyperledger-fabric
2个回答
1
投票

如果对等体是从同一节点启动的,则可能是为两个对等体安装了相同的加密材料(mspconfig目录的路径)。如果是这种情况,请将两个对等体的目录结构分开,并在其中保留各自的证书,在docker-compose文件中更新msp的相应路径并尝试运行。


1
投票

首先,确保使用正确的证书。其次,验证gossip的环境/配置是否设置正确

environment:
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:8051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
  - CORE_PEER_GOSSIP_ENDPOINT=peer0.org1.example.com:7051

或者在core.yaml中

peer:
  gossip:
    bootstrap: peer0.org1.example.com:7051
    externalEndpoint: peer1.org1.example.com:8051
    endpoint: peer0.org1.example.com:7051

编辑:还要确保你已正确设置你的CA

希望这有帮助,它对我有用。我成功地连接了同行。

© www.soinside.com 2019 - 2024. All rights reserved.