Subhankar
Subhankar

Reputation: 692

Error: timeout waiting for channel creation -- While using Kafka Orderer of Fabric

Getting following ERROR while creating a new channels using Kafka Orderer.

Error: timeout waiting for channel creation

Here is the screenshot :enter image description here

Following are my Docker-Compose yaml file :

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/[email protected]/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/[email protected]/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

And the base.yaml file is :

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

The setup is running fine when I tested on one system, but got the error when I shifted it to the other. Unable to find out why its behaving like this. Can any one please help.

Upvotes: 4

Views: 736

Answers (2)

Subhankar
Subhankar

Reputation: 692

Since kafka order runs on distributed environment, it takes little time to create channel. We can increase the creation timeout time with -t flag.

Example :

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

"s" has to be mentioned in while mentioning the seconds

Upvotes: 3

Eric Vaughn
Eric Vaughn

Reputation: 134

We had to increase the timeout on the create channel command to 10 seconds for the kafka configuration.

For example: peer channel create -o orderer0:7050 -t 10s -c $CHANNEL_NAME ...

Upvotes: 0

Related Questions