hyperledger-fabric - 错误 : timeout waiting for channel creation -- While using Kafka Orderer of Fabric

标签 hyperledger-fabric hyperledger

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

错误:WAITING channel 创建超时

这是截图: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


当我在一个系统上测试时,设置运行良好,但当我将其转移到另一个系统时出现错误。
无法找出其行为如此的原因。任何人都可以帮忙。

最佳答案

kafka order运行在分布式环境中,创建 channel 花费的时间很少。我们可以通过 -t 增加创建超时时间旗帜。

例子 :
peer channel create -c 'channelsId' -f 'channelsGenesisBlock' -o 'orderersAddress' -t 60s
提到秒时必须提到“s”

关于hyperledger-fabric - 错误 : timeout waiting for channel creation -- While using Kafka Orderer of Fabric,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51023847/

相关文章:

php - 有没有办法将 Hyperledger Fabric Composer 命令从 'composer' 重命名为其他名称?

hyperledger-fabric - Hyperledger Fabric 在启用 TLS 的情况下实现,也可以在没有 TLS 的情况下工作?

blockchain - 什么是 super 账本中的共识

docker - 使用docker swarm连接2台单独的笔记本电脑吗?

node.js - Hyperledger Fabric nodejs sdk性能问题

java - 如何查看 Hyperledger Fabric 链码中的 java 日志?

hyperledger - 如何在 Hyperledger Sawtooth 中进行私密交易?

ssl - 使用 hyperledger-fabric-client 使用 grpcs 和中间证书调用链代码

hyperledger-fabric - 对等 channel 创建 - 评估失败,仅满足 0 个策略 Hyperledger Fabric

hyperledger - 如何在Hyperledger架构中针对链码获取所有交易历史记录