错误:超时等待通道创建-使用Fabric的Kafka Orderer时

时间:2018-06-25 12:46:53

标签: hyperledger-fabric hyperledger

使用Kafka Orderer创建新频道时出现以下错误。

错误:等待频道创建超时

以下是屏幕截图:enter image description here

以下是我的Docker-Compose yaml文件:

version: '2'

networks:
  tranargy:

services:

  zookeeper0:
    container_name: zookeeper0
    extends:
      file: base.yaml
      service: zookeeper
    environment:
      - ZOO_MY_ID=1
      - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
    networks:
      - tranargy

  zookeeper1:
    container_name: zookeeper1
    extends:
      file: base.yaml
      service: zookeeper
    environment:
      - ZOO_MY_ID=2
      - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
    networks:
      - tranargy

  zookeeper2:
    container_name: zookeeper2
    extends:
      file: base.yaml
      service: zookeeper
    environment:
      - ZOO_MY_ID=3
      - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
    networks:
      - tranargy

  kafka0:
    container_name: kafka0
    extends:
      file: base.yaml
      service: kafka
    environment:
      - KAFKA_BROKER_ID=0
      - KAFKA_MIN_INSYNC_REPLICAS=2
      - KAFKA_DEFAULT_REPLICATION_FACTOR=3
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
    depends_on:
      - zookeeper0
      - zookeeper1
      - zookeeper2
    networks:
      - tranargy

  kafka1:
    container_name: kafka1
    extends:
      file: base.yaml
      service: kafka
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_MIN_INSYNC_REPLICAS=2
      - KAFKA_DEFAULT_REPLICATION_FACTOR=3
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
    depends_on:
      - zookeeper0
      - zookeeper1
      - zookeeper2
    networks:
      - tranargy

  kafka2:
    container_name: kafka2
    extends:
      file: base.yaml
      service: kafka
    environment:
      - KAFKA_BROKER_ID=2
      - KAFKA_MIN_INSYNC_REPLICAS=2
      - KAFKA_DEFAULT_REPLICATION_FACTOR=3
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
    depends_on:
      - zookeeper0
      - zookeeper1
      - zookeeper2
    networks:
      - tranargy

  kafka3:
    container_name: kafka3
    extends:
      file: base.yaml
      service: kafka
    environment:
      - KAFKA_BROKER_ID=3
      - KAFKA_MIN_INSYNC_REPLICAS=2
      - KAFKA_DEFAULT_REPLICATION_FACTOR=3
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
    depends_on:
      - zookeeper0
      - zookeeper1
      - zookeeper2
    networks:
      - tranargy

  orderer.tranargy.com:
    image: hyperledger/fabric-orderer:x86_64-1.0.0
    container_name: orderer.tranargy.com
    environment:
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      - ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
      - ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
      - ORDERER_KAFKA_VERBOSE=true
    volumes:
      - ./orderer/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
      - ./crypto-config/ordererOrganizations/tranargy.com/orderers/orderer.tranargy.com/msp:/var/hyperledger/orderer/msp
      - ./crypto-config/ordererOrganizations/tranargy.com/orderers/orderer.tranargy.com/tls:/var/hyperledger/orderer/tls
    command: orderer
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    ports:
      - 7050:7050
    depends_on:
      - kafka0
      - kafka1
      - kafka2
      - kafka3
    networks:
      - tranargy

  peer0.org1.com:
    container_name: peer0.org1.com
    extends:
      file: base.yaml
      service: peer
    environment:
      - CORE_PEER_ID=peer0.org1.com
      - CORE_PEER_ADDRESS=peer0.org1.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.com:7051
    volumes:
      - ./crypto-config/peerOrganizations/org1.com/peers/peer0.org1.com/msp:/etc/hyperledger/msp/peer
      - ./crypto-config/peerOrganizations/org1.com/peers/peer0.org1.com/tls:/etc/hyperledger/tls
    ports:
      - 7051:7051
      - 7053:7053
    depends_on:
      - orderer.tranargy.com
    networks:
      - tranargy

  peer1.org1.com:
    container_name: peer1.org1.com
    extends:
      file: base.yaml
      service: peer
    environment:
      - CORE_PEER_ID=peer1.org1.com
      - CORE_PEER_ADDRESS=peer1.org1.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.com:7051
    volumes:
      - ./crypto-config/peerOrganizations/org1.com/peers/peer1.org1.com/msp:/etc/hyperledger/msp/peer
      - ./crypto-config/peerOrganizations/org1.com/peers/peer1.org1.com/tls:/etc/hyperledger/tls
    ports:
      - 8051:7051
      - 8053:7053
    depends_on:
      - orderer.tranargy.com
    networks:
      - tranargy

  peer0.org2.com:
    container_name: peer0.org2.com
    extends:
      file: base.yaml
      service: peer
    environment:
      - CORE_PEER_ID=peer0.org2.com
      - CORE_PEER_ADDRESS=peer0.org2.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.com:7051

    volumes:
      - ./crypto-config/peerOrganizations/org2.com/peers/peer0.org2.com/msp:/etc/hyperledger/msp/peer
      - ./crypto-config/peerOrganizations/org2.com/peers/peer0.org2.com/tls:/etc/hyperledger/tls
    ports:
      - 9051:7051
      - 9053:7053
    depends_on:
      - orderer.tranargy.com
    networks:
      - tranargy

  peer1.org2.com:
    container_name: peer1.org2.com
    extends:
      file: base.yaml
      service: peer
    environment:
      - CORE_PEER_ID=peer1.org2.com
      - CORE_PEER_ADDRESS=peer1.org2.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.com:7051

    volumes:
      - ./crypto-config/peerOrganizations/org2.com/peers/peer1.org2.com/msp:/etc/hyperledger/msp/peer
      - ./crypto-config/peerOrganizations/org2.com/peers/peer1.org2.com/tls:/etc/hyperledger/tls
    ports:
      - 10051:7051
      - 10053:7053
    depends_on:
      - orderer.tranargy.com
    networks:
      - tranargy

  cli.Org1:
    extends:
      file: base.yaml
      service: cli
    container_name: cli.Org1
    environment:
      - CORE_PEER_ID=cli.org1.com
      - CORE_PEER_ADDRESS=peer0.org1.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.com/msp
    volumes:
      - ./crypto-config/peerOrganizations/org1.com:/etc/hyperledger/msp
      - ./crypto-config/peerOrganizations/org2.com/peers/peer0.org2.com/tls:/etc/hyperledger/tls
    depends_on:
      - orderer.tranargy.com
      - peer0.org1.com
    networks:
      - tranargy

  cli.Org2:
    extends:
      file: base.yaml
      service: cli
    container_name: cli.Org2
    environment:
      - CORE_PEER_ID=cli.org2.com
      - CORE_PEER_ADDRESS=peer0.org2.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org2.com/msp
    volumes:
      - ./crypto-config/peerOrganizations/org2.com:/etc/hyperledger/msp
      - ./crypto-config/peerOrganizations/org2.com/peers/peer0.org2.com/tls:/etc/hyperledger/tls
    depends_on:
      - orderer.tranargy.com
      - peer0.org2.com
    networks:
      - tranargy

  couchdbOrg1:
    container_name: couchdbOrg1
    image: hyperledger/fabric-couchdb:x86_64-1.0.0
    environment:
      DB_URL: http://localhost:5984/
    ports:
      - "5984:5984"
    networks:
      - tranargy

而base.yaml文件是:

version: '2'

services:
  zookeeper:
    image: hyperledger/fabric-zookeeper
    restart: always
    ports:
      - '2181'
      - '2888'
      - '3888'
      
  kafka:
    image: hyperledger/fabric-kafka
    restart: always
    environment:
      - KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
      - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
      - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
    ports:
      - '9092'
  
  peer:
    image: hyperledger/fabric-peer:x86_64-1.0.0
    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=tranargy_tranargy
      - CORE_PEER_ADDRESSAUTODETECT=true
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_PROFILE_ENABLED=true
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer/
    command: peer node start
    volumes:
    - /var/run/:/host/var/run/
    
  cli:
    tty: true
    image: hyperledger/fabric-tools:x86_64-1.0.0
    environment:
      - GOPATH=/opt/gopath
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    volumes:
      - ./orderer/:/opt/gopath/src/github.com/hyperledger/fabric/peer/orderer
      - ./chaincode:/opt/gopath/src/
      - ./channels/:/opt/gopath/src/github.com/hyperledger/fabric/peer/channels

当我在一个系统上进行测试时,安装程​​序运行良好,但是当我将其转移到另一个系统上时出现错误。 无法查明其行为为何如此。谁能帮忙吗?

2 个答案:

答案 0 :(得分:2)

由于kafka order在分布式环境中运行,因此创建频道所需的时间很少。我们可以使用-t标志来增加创建超时时间。

示例:

peer channel create -c 'channelsId' -f 'channelsGenesisBlock' -o 'orderersAddress' -t 60

答案 1 :(得分:0)

对于kafka配置,我们必须将create channel命令的超时时间增加到10秒。

例如: 对等渠道创建-o orderer0:7050 -t 10秒 -c $ CHANNEL_NAME ...