Reputation: 692
Getting following ERROR while creating a new channels using Kafka Orderer.
Error: timeout waiting for channel creation
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
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
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