mirror of https://github.com/apache/kafka.git
106 lines
4.5 KiB
YAML
106 lines
4.5 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
# (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
---
|
|
version: '2'
|
|
services:
|
|
broker1:
|
|
image: {$IMAGE}
|
|
hostname: broker1
|
|
container_name: broker1
|
|
ports:
|
|
- "9092:9092"
|
|
- "9101:9101"
|
|
- "19093:9093"
|
|
volumes:
|
|
- ../../secrets:/etc/kafka/secrets
|
|
environment:
|
|
KAFKA_NODE_ID: 1
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,PLAINTEXT_HOST:PLAINTEXT'
|
|
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT_HOST://localhost:9092,SSL://localhost:19093,PLAINTEXT://broker1:29092'
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
|
|
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
|
|
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
|
|
KAFKA_SHARE_COORDINATOR_STATE_TOPIC_REPLICATION_FACTOR: 1
|
|
KAFKA_SHARE_COORDINATOR_STATE_TOPIC_MIN_ISR: 1
|
|
KAFKA_PROCESS_ROLES: 'broker,controller'
|
|
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@broker1:19092,2@broker2:19092,3@broker3:19092'
|
|
KAFKA_LISTENERS: 'CONTROLLER://:19092,PLAINTEXT_HOST://:9092,SSL://:9093,PLAINTEXT://:29092'
|
|
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
|
|
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
|
|
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
|
|
CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw'
|
|
KAFKA_JMX_PORT: 9101
|
|
KAFKA_JMX_HOSTNAME: localhost
|
|
KAFKA_SSL_KEYSTORE_FILENAME: "kafka01.keystore.jks"
|
|
KAFKA_SSL_KEYSTORE_CREDENTIALS: "kafka_keystore_creds"
|
|
KAFKA_SSL_KEY_CREDENTIALS: "kafka_ssl_key_creds"
|
|
KAFKA_SSL_TRUSTSTORE_FILENAME: "kafka.truststore.jks"
|
|
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: "kafka_truststore_creds"
|
|
KAFKA_SSL_CLIENT_AUTH: "required"
|
|
|
|
broker2:
|
|
image: {$IMAGE}
|
|
hostname: broker2
|
|
container_name: broker2
|
|
ports:
|
|
- "9093:9093"
|
|
- "19092:9092"
|
|
volumes:
|
|
- ../../secrets:/etc/kafka/secrets
|
|
environment:
|
|
KAFKA_NODE_ID: 2
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "PLAINTEXT:PLAINTEXT,SSL:SSL,CONTROLLER:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT"
|
|
KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT_HOST://localhost:19092,SSL://localhost:9093,PLAINTEXT://broker2:29092"
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
|
|
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
|
|
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
|
|
KAFKA_SHARE_COORDINATOR_STATE_TOPIC_REPLICATION_FACTOR: 1
|
|
KAFKA_SHARE_COORDINATOR_STATE_TOPIC_MIN_ISR: 1
|
|
KAFKA_PROCESS_ROLES: 'broker,controller'
|
|
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@broker1:19092,2@broker2:19092,3@broker3:19092'
|
|
KAFKA_LISTENERS: 'CONTROLLER://:19092,PLAINTEXT_HOST://:9092,SSL://:9093,PLAINTEXT://:29092'
|
|
KAFKA_INTER_BROKER_LISTENER_NAME: "PLAINTEXT"
|
|
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
|
|
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
|
|
CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw'
|
|
KAFKA_SSL_KEYSTORE_FILENAME: "kafka01.keystore.jks"
|
|
KAFKA_SSL_KEYSTORE_CREDENTIALS: "kafka_keystore_creds"
|
|
KAFKA_SSL_KEY_CREDENTIALS: "kafka_ssl_key_creds"
|
|
KAFKA_SSL_TRUSTSTORE_FILENAME: "kafka.truststore.jks"
|
|
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: "kafka_truststore_creds"
|
|
KAFKA_SSL_CLIENT_AUTH: "required"
|
|
|
|
broker3:
|
|
image: {$IMAGE}
|
|
hostname: broker3
|
|
container_name: broker3
|
|
ports:
|
|
- "39092:9092"
|
|
- "9094:9093"
|
|
volumes:
|
|
- ../../secrets:/etc/kafka/secrets
|
|
- ../../file-input:/mnt/shared/config
|
|
environment:
|
|
CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw'
|
|
# Set properties absent from the file
|
|
KAFKA_NODE_ID: 3
|
|
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@broker1:19092,2@broker2:19092,3@broker3:19092'
|
|
KAFKA_LISTENERS: 'CONTROLLER://:19092,PLAINTEXT_HOST://:9092,SSL://:9093,PLAINTEXT://:29092'
|
|
# Override an existing property
|
|
KAFKA_PROCESS_ROLES: 'broker,controller'
|