mirror of
https://github.com/bitnami/containers.git
synced 2026-02-10 11:47:39 +08:00
[bitnami/kafka] Release 4.1.1-debian-12-r1 (#88480)
Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
@@ -8,7 +8,7 @@ ARG JAVA_EXTRA_SECURITY_DIR="/bitnami/java/extra-security"
|
||||
ARG TARGETARCH
|
||||
|
||||
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
|
||||
org.opencontainers.image.created="2025-11-13T22:44:52Z" \
|
||||
org.opencontainers.image.created="2025-11-20T16:19:47Z" \
|
||||
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
|
||||
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/kafka/README.md" \
|
||||
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/kafka" \
|
||||
@@ -53,7 +53,7 @@ RUN /opt/bitnami/scripts/java/postunpack.sh
|
||||
RUN /opt/bitnami/scripts/kafka/postunpack.sh
|
||||
ENV APP_VERSION="4.1.1" \
|
||||
BITNAMI_APP_NAME="kafka" \
|
||||
IMAGE_REVISION="0" \
|
||||
IMAGE_REVISION="1" \
|
||||
JAVA_HOME="/opt/bitnami/java" \
|
||||
PATH="/opt/bitnami/java/bin:/opt/bitnami/kafka/bin:$PATH"
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ services:
|
||||
# KRaft settings
|
||||
- KAFKA_CFG_NODE_ID=0
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
|
||||
# Listeners
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092
|
||||
|
||||
@@ -20,7 +20,7 @@ set -o pipefail
|
||||
# Map Kafka environment variables
|
||||
kafka_create_alias_environment_variables
|
||||
|
||||
# Dynamically set node.id/broker.id/controller.quorum.voters if the _COMMAND environment variable is set
|
||||
# Dynamically set node.id/broker.id/controller.quorum.bootstrap.servers if the _COMMAND environment variable is set
|
||||
kafka_dynamic_environment_variables
|
||||
# Set the default truststore locations before validation
|
||||
kafka_configure_default_truststore_locations
|
||||
@@ -34,7 +34,6 @@ for dir in "$KAFKA_LOG_DIR" "$KAFKA_CONF_DIR" "$KAFKA_MOUNTED_CONF_DIR" "$KAFKA_
|
||||
ensure_dir_exists "$dir"
|
||||
fi
|
||||
done
|
||||
|
||||
# Kafka validation, skipped if server.properties was mounted at either $KAFKA_MOUNTED_CONF_DIR or $KAFKA_CONF_DIR
|
||||
[[ ! -f "${KAFKA_MOUNTED_CONF_DIR}/server.properties" && ! -f "$KAFKA_CONF_FILE" ]] && kafka_validate
|
||||
# Kafka initialization, skipped if server.properties was mounted at $KAFKA_CONF_DIR
|
||||
@@ -54,12 +53,5 @@ else
|
||||
# Initialize KRaft metadata unless initialization is skipped
|
||||
! is_boolean_yes "$KAFKA_SKIP_KRAFT_STORAGE_INIT" && kafka_kraft_storage_initialize
|
||||
fi
|
||||
# KRaft controllers may get stuck starting when the controller quorum voters are changed.
|
||||
# Workaround: Remove quorum-state file when scaling up/down controllers (Waiting proposal KIP-853)
|
||||
# https://cwiki.apache.org/confluence/display/KAFKA/KIP-853%3A+KRaft+Voter+Changes
|
||||
if [[ -f "${KAFKA_DATA_DIR}/__cluster_metadata-0/quorum-state" ]] && kafka_is_zookeeper_supported && grep -q "^controller.quorum.voters=" "$KAFKA_CONF_FILE" && kafka_kraft_quorum_voters_changed; then
|
||||
warn "Detected inconsistences between controller.quorum.voters and quorum-state, removing it..."
|
||||
rm -f "${KAFKA_DATA_DIR}/__cluster_metadata-0/quorum-state"
|
||||
fi
|
||||
# Ensure custom initialization scripts are executed
|
||||
kafka_custom_init_scripts
|
||||
|
||||
@@ -277,7 +277,7 @@ kafka_create_alias_environment_variables() {
|
||||
"ADVERTISED_LISTENERS"
|
||||
"BROKER_ID"
|
||||
"NODE_ID"
|
||||
"CONTROLLER_QUORUM_VOTERS"
|
||||
"CONTROLLER_QUORUM_BOOTSTRAP_SERVERS"
|
||||
"PROCESS_ROLES"
|
||||
"DEFAULT_REPLICATION_FACTOR"
|
||||
"DELETE_TOPIC_ENABLE"
|
||||
@@ -365,8 +365,8 @@ kafka_validate() {
|
||||
if is_empty_value "${KAFKA_CFG_LISTENERS:-}" || [[ ! "$KAFKA_CFG_LISTENERS" =~ ${KAFKA_CFG_CONTROLLER_LISTENER_NAMES} ]]; then
|
||||
print_validation_error "Role 'controller' enabled but listener ${KAFKA_CFG_CONTROLLER_LISTENER_NAMES} not found in KAFKA_CFG_LISTENERS."
|
||||
fi
|
||||
if is_empty_value "${KAFKA_CFG_CONTROLLER_QUORUM_VOTERS:-}"; then
|
||||
print_validation_error "Role 'controller' enabled but environment variable KAFKA_CFG_CONTROLLER_QUORUM_VOTERS was not provided."
|
||||
if [[ ${KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS} != "localhost:9093" ]] && is_empty_value "${KAFKA_INITIAL_CONTROLLERS:-}"; then
|
||||
print_validation_error "Role 'controller' enabled and KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS for dynamic controller quorum configured but KAFKA_INITIAL_CONTROLLERS was not provided."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@@ -901,7 +901,7 @@ kafka_kraft_storage_initialize() {
|
||||
if [[ -n "${KAFKA_INITIAL_CONTROLLERS:-}" ]]; then
|
||||
args+=("--initial-controllers=${KAFKA_INITIAL_CONTROLLERS}")
|
||||
else
|
||||
args+=("--no-initial-controllers")
|
||||
args+=("--standalone")
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -909,32 +909,6 @@ kafka_kraft_storage_initialize() {
|
||||
debug_execute "${KAFKA_HOME}/bin/kafka-storage.sh" format "${args[@]}"
|
||||
}
|
||||
|
||||
########################
|
||||
# Detects inconsistences between the configuration at KAFKA_CONF_FILE and cluster-state file
|
||||
# Globals:
|
||||
# KAFKA_*
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
# None
|
||||
#########################
|
||||
kafka_kraft_quorum_voters_changed(){
|
||||
read -r -a quorum_voters_conf_ids <<<"$(grep "^controller.quorum.voters=" "$KAFKA_CONF_FILE" | sed "s/^controller.quorum.voters=//" | tr "," " " | sed -E "s/\@\S+//g")"
|
||||
read -r -a quorum_voters_state_ids <<< "$(grep -Eo "\{\"voterId\":[0-9]+\}" "${KAFKA_DATA_DIR}/__cluster_metadata-0/quorum-state" | grep -Eo "[0-9]+" | tr "\n" " ")"
|
||||
|
||||
if [[ "${#quorum_voters_conf_ids[@]}" != "${#quorum_voters_state_ids[@]}" ]]; then
|
||||
true
|
||||
else
|
||||
read -r -a sorted_state <<< "$(echo "${quorum_voters_conf_ids[@]}" | tr ' ' '\n' | sort | tr '\n' ' ')"
|
||||
read -r -a sorted_conf <<< "$(echo "${quorum_voters_state_ids[@]}" | tr ' ' '\n' | sort | tr '\n' ' ')"
|
||||
if [[ "${sorted_state[*]}" = "${sorted_conf[*]}" ]]; then
|
||||
false
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
########################
|
||||
# Initialize Kafka
|
||||
# Globals:
|
||||
@@ -1123,9 +1097,13 @@ kafka_dynamic_environment_variables() {
|
||||
KAFKA_CFG_NODE_ID="$(eval "${KAFKA_NODE_ID_COMMAND}")"
|
||||
export KAFKA_CFG_NODE_ID
|
||||
fi
|
||||
if ! is_empty_value "${KAFKA_CONTROLLER_QUORUM_VOTERS_COMMAND:-}"; then
|
||||
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS="$(eval "${KAFKA_CONTROLLER_QUORUM_VOTERS_COMMAND}")"
|
||||
export KAFKA_CFG_CONTROLLER_QUORUM_VOTERS
|
||||
if ! is_empty_value "${KAFKA_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS_COMMAND:-}"; then
|
||||
KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS="$(eval "${KAFKA_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS_COMMAND}")"
|
||||
export KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS
|
||||
fi
|
||||
if ! is_empty_value "${KAFKA_INITIAL_CONTROLLERS_COMMAND:-}"; then
|
||||
KAFKA_INITIAL_CONTROLLERS="$(eval "${KAFKA_INITIAL_CONTROLLERS_COMMAND}")"
|
||||
export KAFKA_INITIAL_CONTROLLERS
|
||||
fi
|
||||
if kafka_is_zookeeper_supported; then
|
||||
# Zookeeper mode
|
||||
|
||||
@@ -119,7 +119,6 @@ docker run -d --name kafka-server --hostname kafka-server \
|
||||
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
|
||||
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \
|
||||
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
|
||||
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-server:9093 \
|
||||
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
|
||||
bitnami/kafka:latest
|
||||
```
|
||||
@@ -155,7 +154,6 @@ services:
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
|
||||
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
||||
myapp:
|
||||
image: YOUR_APPLICATION_IMAGE
|
||||
@@ -258,7 +256,6 @@ services:
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
|
||||
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
||||
```
|
||||
|
||||
@@ -278,7 +275,6 @@ To do so, add the following environment variables to your docker-compose:
|
||||
environment:
|
||||
- KAFKA_CFG_NODE_ID=0
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@<your_host>:9093
|
||||
+ - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
|
||||
+ - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094
|
||||
+ - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
|
||||
@@ -371,7 +367,6 @@ services:
|
||||
# KRaft
|
||||
- KAFKA_CFG_NODE_ID=0
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
|
||||
# Listeners
|
||||
- KAFKA_CFG_LISTENERS=SASL_SSL://:9092,CONTROLLER://:9093
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
|
||||
@@ -491,7 +486,8 @@ In order to authenticate Apache Kafka controller communications with `SASL_SSL`,
|
||||
|
||||
An Apache Kafka cluster can easily be setup with the Bitnami Apache Kafka Docker image using the following environment variables:
|
||||
|
||||
- `KAFKA_CFG_CONTROLLER_QUORUM_VOTERS`: Comma separated host:port pairs, each corresponding to a Kafka controller connection.
|
||||
- `KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS`: List of endpoints to use for bootstrapping the cluster metadata. The endpoints are specified in comma-separated list of {host}:{port} entries.
|
||||
- `KAFKA_INITIAL_CONTROLLERS`: Used to initialize a server with the specified dynamic quorum. The argument is a comma-separated list of id@hostname:port:directory. The same values must be used to format all nodes.
|
||||
|
||||
#### Step 1: Create the first node for Apache Kafka
|
||||
|
||||
@@ -504,7 +500,8 @@ docker run --name kafka-0 \
|
||||
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
|
||||
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \
|
||||
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
|
||||
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093,2@kafka-2:9093 \
|
||||
-e KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093,kafka-2:9093 \
|
||||
-e KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx,2@kafka-2:9093:defghijklmnopqrstuvwxy \
|
||||
-e KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 \
|
||||
-e KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 \
|
||||
-e KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 \
|
||||
@@ -525,7 +522,8 @@ docker run --name kafka-1 \
|
||||
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
|
||||
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \
|
||||
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
|
||||
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093,2@kafka-2:9093 \
|
||||
-e KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093,kafka-2:9093 \
|
||||
-e KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx,2@kafka-2:9093:defghijklmnopqrstuvwxy \
|
||||
-e KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 \
|
||||
-e KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 \
|
||||
-e KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 \
|
||||
@@ -546,7 +544,8 @@ docker run --name kafka-3 \
|
||||
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
|
||||
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \
|
||||
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
|
||||
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093,2@kafka-2:9093 \
|
||||
-e KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093,kafka-2:9093 \
|
||||
-e KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx,2@kafka-2:9093:defghijklmnopqrstuvwxy \
|
||||
-e KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 \
|
||||
-e KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 \
|
||||
-e KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 \
|
||||
@@ -593,7 +592,8 @@ services:
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093
|
||||
- KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx
|
||||
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
||||
- KAFKA_CLUSTER_ID=abcdefghijklmnopqrstuv
|
||||
volumes:
|
||||
@@ -605,7 +605,8 @@ services:
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller
|
||||
- KAFKA_CFG_LISTENERS=CONTROLLER://:9093
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093
|
||||
- KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx
|
||||
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
||||
- KAFKA_CLUSTER_ID=abcdefghijklmnopqrstuv
|
||||
volumes:
|
||||
@@ -615,7 +616,7 @@ services:
|
||||
environment:
|
||||
- KAFKA_CFG_NODE_ID=2
|
||||
- KAFKA_CFG_PROCESS_ROLES=broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093
|
||||
volumes:
|
||||
- kafka_2_data:/bitnami/kafka
|
||||
|
||||
@@ -845,6 +846,10 @@ This guide covers how to execute the Kafka migration from Zookeeper mode to KRaf
|
||||
|
||||
## Notable Changes
|
||||
|
||||
### 4.1.1-debian-12-r1, 4.1.1-photon-5-r2
|
||||
|
||||
Updated the logic to configure contoller.quorum.bootstrap.servers parameter instead of controller.quorum.voters. That affects the initialization and setting the KAFKA_INITIAL_CONTROLLERS env var is now mandatory when building a cluster.
|
||||
|
||||
### 4.0.0-debian-12-r0
|
||||
|
||||
This version implies a significant milestone given now Kafka operates operate entirely without Apache ZooKeeper, running in KRaft mode by default. As a consequence, **ZooKeeper-related parameters have been removed.**.
|
||||
|
||||
@@ -10,7 +10,8 @@ services:
|
||||
# KRaft settings
|
||||
- KAFKA_CFG_NODE_ID=0
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093,2@kafka-2:9093
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093,kafka-2:9093
|
||||
- KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx,2@kafka-2:9093:defghijklmnopqrstuvwxy
|
||||
- KAFKA_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv
|
||||
# Listeners
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
@@ -32,7 +33,8 @@ services:
|
||||
# KRaft settings
|
||||
- KAFKA_CFG_NODE_ID=1
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093,2@kafka-2:9093
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093,kafka-2:9093
|
||||
- KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx,2@kafka-2:9093:defghijklmnopqrstuvwxy
|
||||
- KAFKA_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv
|
||||
# Listeners
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
@@ -54,7 +56,8 @@ services:
|
||||
# KRaft settings
|
||||
- KAFKA_CFG_NODE_ID=2
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-0:9093,1@kafka-1:9093,2@kafka-2:9093
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_BOOTSTRAP_SERVERS=kafka-0:9093,kafka-1:9093,kafka-2:9093
|
||||
- KAFKA_INITIAL_CONTROLLERS=0@kafka-0:9093:bcdefghijklmnopqrstuvw,1@kafka-1:9093:cdefghijklmnopqrstuvwx,2@kafka-2:9093:defghijklmnopqrstuvwxy
|
||||
- KAFKA_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv
|
||||
# Listeners
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
|
||||
@@ -12,7 +12,6 @@ services:
|
||||
# KRaft settings
|
||||
- KAFKA_CFG_NODE_ID=0
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
|
||||
# Listeners
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
|
||||
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092
|
||||
|
||||
Reference in New Issue
Block a user