Deploy Orderer with Default Configuration

Q

How to Deploy the Orderer Docker Image with the Default Configuration?

✍: FYIcenter.com

A

You can follow this tutorial to deploy the Orderer Docker Image with the Default Configuration.

1. Create a new Docker Compose YAML file, docker-compose-default.yaml:

$ cd fabric-orderer
$ cp docker-compose-orderer.yaml docker-compose-default.yaml

$ vi docker-compose-default.yaml

# Copyright (c) FYIcenter.com
version: '2'

services:
  orderer:
    container_name: orderer
    image: hyperledger/fabric-orderer:amd64-1.4.0
    command: orderer

2. Stop and remove any existing Orderer container:

$ docker stop orderer.example.com
orderer.example.com

$ docker rm orderer.example.com
orderer.example.com

3. Deploy a new Orderer container with the default configuration:

$ docker-compose -f docker-compose-default.yaml up -d 

4. Verify the Orderer container status:

$ docker ps
IMAGE                                    STATUS         NAMES
hyperledger/fabric-orderer:amd64-1.4.0   Up 8 seconds   orderer

5. Review the log file of the Orderer container:

$ docker logs orderer

[localconfig] completeInitialization -> INFO 001 Kafka.Version unset, setting to 0.10.2.0
[orderer.common.server] prettyPrintStruct -> INFO 002 Orderer config values:
   General.LedgerType = "file"
   General.ListenAddress = "127.0.0.1"
   General.ListenPort = 7050
   General.TLS.Enabled = false
   General.TLS.PrivateKey = "/etc/hyperledger/fabric/tls/server.key"
   General.TLS.Certificate = "/etc/hyperledger/fabric/tls/server.crt"
   General.TLS.RootCAs = [/etc/hyperledger/fabric/tls/ca.crt]
   General.TLS.ClientAuthRequired = false
   General.TLS.ClientRootCAs = []
   General.Cluster.RootCAs = [/etc/hyperledger/fabric/tls/ca.crt]
   General.Cluster.ClientCertificate = ""
   General.Cluster.ClientPrivateKey = ""
   General.Cluster.DialTimeout = 5s
   General.Cluster.RPCTimeout = 7s
   General.Cluster.ReplicationBufferSize = 20971520
   General.Cluster.ReplicationPullTimeout = 5s
   General.Cluster.ReplicationRetryTimeout = 5s
   General.Keepalive.ServerMinInterval = 1m0s
   General.Keepalive.ServerInterval = 2h0m0s
   General.Keepalive.ServerTimeout = 20s
   General.GenesisMethod = "provisional"
   General.GenesisProfile = "SampleInsecureSolo"
   General.SystemChannel = "test-system-channel-name"
   General.GenesisFile = "/etc/hyperledger/fabric/genesisblock"
   General.Profile.Enabled = false
   General.Profile.Address = "0.0.0.0:6060"
   General.LocalMSPDir = "/etc/hyperledger/fabric/msp"
   General.LocalMSPID = "SampleOrg"
   General.BCCSP.ProviderName = "SW"
   General.BCCSP.SwOpts.SecLevel = 256
   General.BCCSP.SwOpts.HashFamily = "SHA2"
   General.BCCSP.SwOpts.Ephemeral = false
   General.BCCSP.SwOpts.FileKeystore.KeyStorePath = "/etc/hyperledger/fabric/msp/keystore"
   General.BCCSP.SwOpts.DummyKeystore =
   General.BCCSP.SwOpts.InmemKeystore =
   General.BCCSP.PluginOpts =
   General.Authentication.TimeWindow = 15m0s
   FileLedger.Location = "/var/hyperledger/production/orderer"
   FileLedger.Prefix = "hyperledger-fabric-ordererledger"
   RAMLedger.HistorySize = 1000
   Kafka.Retry.ShortInterval = 5s
   Kafka.Retry.ShortTotal = 10m0s
   Kafka.Retry.LongInterval = 5m0s
   Kafka.Retry.LongTotal = 12h0m0s
   Kafka.Retry.NetworkTimeouts.DialTimeout = 10s
   Kafka.Retry.NetworkTimeouts.ReadTimeout = 10s
   Kafka.Retry.NetworkTimeouts.WriteTimeout = 10s
   Kafka.Retry.Metadata.RetryMax = 3
   Kafka.Retry.Metadata.RetryBackoff = 250ms
   Kafka.Retry.Producer.RetryMax = 3
   Kafka.Retry.Producer.RetryBackoff = 100ms
   Kafka.Retry.Consumer.RetryBackoff = 2s
   Kafka.Verbose = false
   Kafka.Version = 0.10.2.0
   Kafka.TLS.Enabled = false
   Kafka.TLS.PrivateKey = ""
   Kafka.TLS.Certificate = ""
   Kafka.TLS.RootCAs = []
   Kafka.TLS.ClientAuthRequired = false
   Kafka.TLS.ClientRootCAs = []
   Kafka.SASLPlain.Enabled = false
   Kafka.SASLPlain.User = ""
   Kafka.SASLPlain.Password = ""
   Kafka.Topic.ReplicationFactor = 3
   Debug.BroadcastTraceDir = ""
   Debug.DeliverTraceDir = ""
   Consensus = map[WALDir:/var/hyperledger/production/orderer/etcdraft/wal \
      SnapDir:/var/hyperledger/production/orderer/etcdraft/snapshot]
   Operations.ListenAddress = "127.0.0.1:8443"
   Operations.TLS.Enabled = false
   Operations.TLS.PrivateKey = ""
   Operations.TLS.Certificate = ""
   Operations.TLS.RootCAs = []
   Operations.TLS.ClientAuthRequired = false
   Operations.TLS.ClientRootCAs = []
   Metrics.Provider = "disabled"
   Metrics.Statsd.Network = "udp"
   Metrics.Statsd.Address = "127.0.0.1:8125"
   Metrics.Statsd.WriteInterval = 30s
   Metrics.Statsd.Prefix = ""
[common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
[common.tools.configtxgen.localconfig] Load -> INFO 004 Loaded configuration: /etc/hyperledger/fabric/configtx.yaml
[common.tools.configtxgen.localconfig] completeInitialization -> INFO 005 orderer type: solo
[common.tools.configtxgen.localconfig] Load -> INFO 006 Loaded configuration: /etc/hyperledger/fabric/configtx.yaml
[fsblkstorage] newBlockfileMgr -> INFO 007 Getting block information from block storage
[orderer.commmon.multichannel] Initialize -> INFO 008 Starting system channel 'test-system-channel-name' \
   with genesis block hash 58a33ae4bb9de4c42b3a343b14b3ab067862a3ce3fec7e9aa03f0175f1eeb4e7 and orderer type solo
[orderer.common.server] Start -> INFO 009 Starting orderer:
 Version: 1.4.0
 Commit SHA: d700b43
 Go version: go1.11.1
 OS/Arch: linux/amd64
[orderer.common.server] Start -> INFO 00a Beginning to serve requests

As you can, we have an orderer peer up and running in "solo" type with a default MSP entry and a "test-system-channel-name" channel using a dynamically generated genesis block.

 

Orderer Peer Operation RESTful API

Default orderer.yaml in Orderer Docker Image

Setting Up Orderer Peer Manually

⇑⇑ Hyperledger Tutorials

2019-05-14, 402👍, 0💬