在SWARM(覆盖)中运行的多节点网络上部署BNA

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

问题:我们正在尝试在SWARM中运行的多节点网络上部署bna。

我们正在使用Hyperledger Composer来创建链代码。

我们有两个VM,说VM1和VM2 VM1和VM2都通过SWARM连接作为管理器。我们已经设置了一个名为my-net的Overlay swarm名称

VM1将这些docker容器全部部署在my-net上 - orderer.example.com - ca.example.com - peer0.org1.example.com - couchdb0

VM2在my-net上部署了这些docker容器 - peer1.org1.example.com - couchdb1

现在我们的connection.json看起来像这样。用于创建PeerAdmin卡。

{
    "name": "hlfv1",
    "x-type": "hlfv1",
    "x-commitTimeout": 300,
    "version": "1.0.0",
    "client": {
        "organization": "Org1",
        "connection": {
            "timeout": {
                "peer": {
                    "endorser": "300",
                    "eventHub": "300",
                    "eventReg": "300"
                },
                "orderer": "300"
            }
        }
    },
    "channels": {
        "composerchannel": {
            "orderers": [
                "orderer.example.com"
            ],
            "peers": {
                "peer0.org1.example.com": {},
        "peer1.org1.example.com": {}
            }
        }
    },
    "organizations": {
        "Org1": {
            "mspid": "OrgMSP",
            "peers": [
                "peer0.org1.example.com",
        "peer1.org1.example.com"
            ],
            "certificateAuthorities": [
                "ca.example.com"
            ]
        }
    },
    "orderers": {
        "orderer.example.com": {
            "url": "grpc://<pee1IP>:7050"
        }
    },
    "peers": {
        "peer0.org1.example.com": {
            "url": "grpc://<pee1IP>:7051",
            "eventUrl": "grpc://<pee1IP>:7053"
        },
    "peer1.org1.example.com": {
            "url": "grpc://<pee2IP>:8051",
            "eventUrl": "grpc://<pee2IP>:8053"
        }
    },
    "certificateAuthorities": {
        "ca.example.com": {
            "url": "http://<pee1IP>:7054",
            "caName": "ca.example.com"
        }
    }
}

好吧,当我们有单个虚拟机并且我们能够在网络上成功部署bna时,整个过程都有效但是当我们将另一个虚拟机添加到my-net时,我们无法在网络上安装bna

我们认为我们无法在connection.json中输入正确的IP,因为我们失败了。

注意事项:我们能够在Peer0上创建通道,并且能够成功地在同一通道中加入peer0和peer1。我们认为它可能是connection.json问题,但我们无法弄清楚错误。

这是我们在安装BNA时看到的错误

安装业务网络。这可能需要一分钟......错误:尝试安装业务网络时出错。错误:没有来自任何同行的有效回复。尝试的对等通信的响应是一个错误:错误:14 UNAVAILABLE:连接失败

hyperledger-fabric hyperledger docker-swarm hyperledger-composer
2个回答
0
投票

我一直在使用docker swarm处理这类问题。为了能够使用不同的主机进行这种下行和运行,我现在使用Rancher来管理docker容器之间的网络通信。希望这会帮助你。


0
投票

尝试将频道的值更改为:

"channels": {
    "composerchannel": {
        "orderers": [
            "orderer.example.com"
        ],
        "peers": {
            "peer0.org1.example.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            },
            "peer1.org1.example.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.