59 lines
2.3 KiB
YAML
59 lines
2.3 KiB
YAML
# Copyright IBM Corp. All Rights Reserved.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
version: '2'
|
|
|
|
services:
|
|
|
|
zookeeper:
|
|
image: hyperledger/fabric-zookeeper
|
|
restart: always
|
|
ports:
|
|
- '2181'
|
|
- '2888'
|
|
- '3888'
|
|
|
|
kafka:
|
|
image: hyperledger/fabric-kafka
|
|
restart: always
|
|
environment:
|
|
# ========================================================================
|
|
# Reference: https://kafka.apache.org/documentation/#configuration
|
|
# ========================================================================
|
|
#
|
|
# socket.request.max.bytes
|
|
# The maximum number of bytes in a socket request. ATTN: If you set this
|
|
# env var, make sure to update `brokerConfig.Producer.MaxMessageBytes` in
|
|
# `newBrokerConfig()` in `fabric/orderer/kafka/config.go` accordingly.
|
|
#- KAFKA_SOCKET_REQUEST_MAX_BYTES=104857600 # 100 * 1024 * 1024 B
|
|
#
|
|
# message.max.bytes
|
|
# The maximum size of envelope that the broker can receive.
|
|
- KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
|
|
#
|
|
# replica.fetch.max.bytes
|
|
# The number of bytes of messages to attempt to fetch for each channel.
|
|
# This is not an absolute maximum, if the fetched envelope is larger than
|
|
# this value, the envelope will still be returned to ensure that progress
|
|
# can be made. The maximum message size accepted by the broker is defined
|
|
# via message.max.bytes above.
|
|
- KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
|
|
#
|
|
# unclean.leader.election.enable
|
|
# Data consistency is key in a blockchain environment. We cannot have a
|
|
# leader chosen outside of the in-sync replica set, or we run the risk of
|
|
# overwriting the offsets that the previous leader produced, and --as a
|
|
# result-- rewriting the blockchain that the orderers produce.
|
|
- KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
|
|
#
|
|
# log.retention.ms
|
|
# Until the ordering service in Fabric adds support for pruning of the
|
|
# Kafka logs, time-based retention should be disabled so as to prevent
|
|
# segments from expiring. (Size-based retention -- see
|
|
# log.retention.bytes -- is disabled by default so there is no need to set
|
|
# it explicitly.)
|
|
- KAFKA_LOG_RETENTION_MS=-1
|
|
ports:
|
|
- '9092' |