Fabric orderer未声明主机IP - 多节点设置

时间:2018-02-19 13:00:01

标签: tcp blockchain hyperledger-fabric

我已成功在5个节点中安装了Fabric。一个分别用于peer0,peer1,orderer0,kafka和client

我正在尝试使用start-order.sh

中设置的以下环境开始订购
ORDERER_GENERAL_LOGLEVEL=info \
ORDERER_GENERAL_LISTENADDRESS=orderer0 \
ORDERER_GENERAL_GENESISMETHOD=file \
ORDERER_GENERAL_GENESISFILE=/root/bcnetwork/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer0.ordererorg0/genesis.block \
ORDERER_GENERAL_LOCALMSPID=OrdererOrg0MSP \
ORDERER_GENERAL_LOCALMSPDIR=/root/bcnetwork/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer0.ordererorg0/msp \
ORDERER_GENERAL_TLS_ENABLED=false \
ORDERER_GENERAL_TLS_PRIVATEKEY=/root/bcnetwork/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer0.ordererorg0/tls/server.key \
ORDERER_GENERAL_TLS_CERTIFICATE=/root/bcnetwork/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer0.ordererorg0/tls/server.crt \
ORDERER_GENERAL_TLS_ROOTCAS=[/root/bcnetwork/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer0.ordererorg0/tls/ca.crt,/root/bcnetwork/conf/crypto-config/peerOrganizations/org0/peers/peer0.org0/tls/ca.crt,/root/bcnetwork/conf/crypto-config/peerOrganizations/org1/peers/peer2.org1/tls/ca.crt] \
CONFIGTX_ORDERER_BATCHTIMEOUT=1s \
CONFIGTX_ORDERER_ORDERERTYPE=kafka \
CONFIGTX_ORDERER_KAFKA_BROKERS=[kafka-zookeeper:9092] \
orderer

主机orderer0我在/ etc / hosts中设置了它没有问题。但在执行时,我收到以下错误

2018-02-19 12:53:31.597 UTC [orderer/main] main -> INFO 001 Starting orderer:


Version: 1.0.2
 Go version: go1.9
 OS/Arch: linux/amd64
2018-02-19 12:53:31.602 UTC [orderer/main] initializeGrpcServer -> CRIT 002 Failed to listen: listen tcp XX.XXX.XXX.XX:7050: bind: cannot assign requested address
r

机器配置FYR

Docker version 17.12.0-ce, build c97c6d6
docker-compose version 1.18.0, build 8dd22a9
go version go1.9.4 linux/amd64
OS : Ubuntu 16.04

1 个答案:

答案 0 :(得分:1)

您可以尝试:

-e ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 -e ORDERER_GENERAL_LISTENPORT=7050
除非在host.conf中指定,否则orderer0本身无法解析为任何地址。

我已使用docker swarm模式在多个节点上部署了结构。您需要在一台主机上创建swarm模式,并让其他主机将其作为管理器节点加入。之后,您将在群组顶部创建一个覆盖网络。该网络在所有节点之间共享,因此允许容器彼此通信。您可以在

查看完整的教程

hyperledger-fabric-on-multiple-hosts