116 lines
4.2 KiB
YAML
116 lines
4.2 KiB
YAML
version: '3.8'
|
|
|
|
networks:
|
|
kafka-cluster-network:
|
|
driver: bridge
|
|
|
|
services:
|
|
kafka1:
|
|
image: apache/kafka:latest
|
|
container_name: kafka1
|
|
hostname: kafka1
|
|
networks:
|
|
- kafka-cluster-network
|
|
ports:
|
|
- "19092:9092"
|
|
volumes:
|
|
- ./broker1/data:/var/lib/kafka/data
|
|
- ./broker1/config:/mnt/shared/config
|
|
- ./broker1/secrets:/etc/kafka/secrets
|
|
- ./kafka-server-jaas.conf:/etc/kafka/kafka-server-jaas.conf
|
|
environment:
|
|
KAFKA_NODE_ID: 1
|
|
KAFKA_LISTENERS: PLAINTEXT://kafka1:9092,CONTROLLER://kafka1:9093
|
|
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.8:19092
|
|
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
|
|
KAFKA_PROCESS_ROLES: broker,controller
|
|
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka1:9093,2@kafka2:9093,3@kafka3:9093
|
|
KAFKA_CLUSTER_ID: my-kafka-cluster
|
|
KAFKA_LOG_DIRS: /var/lib/kafka/data
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: 3
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
|
|
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
|
|
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
|
|
KAFKA_MIN_INSYNC_REPLICAS: 2
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT
|
|
KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
|
|
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
|
|
KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/kafka-server-jaas.conf
|
|
|
|
kafka2:
|
|
image: apache/kafka:latest
|
|
container_name: kafka2
|
|
hostname: kafka2
|
|
networks:
|
|
- kafka-cluster-network
|
|
ports:
|
|
- "19093:9092"
|
|
volumes:
|
|
- ./broker2/data:/var/lib/kafka/data
|
|
- ./broker2/config:/mnt/shared/config
|
|
- ./broker2/secrets:/etc/kafka/secrets
|
|
- ./kafka-server-jaas.conf:/etc/kafka/kafka-server-jaas.conf
|
|
environment:
|
|
KAFKA_NODE_ID: 2
|
|
KAFKA_LISTENERS: PLAINTEXT://kafka2:9092,CONTROLLER://kafka2:9093
|
|
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.8:19093
|
|
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
|
|
KAFKA_PROCESS_ROLES: broker,controller
|
|
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka1:9093,2@kafka2:9093,3@kafka3:9093
|
|
KAFKA_CLUSTER_ID: my-kafka-cluster
|
|
KAFKA_LOG_DIRS: /var/lib/kafka/data
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: 3
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
|
|
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
|
|
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
|
|
KAFKA_MIN_INSYNC_REPLICAS: 2
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT
|
|
KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
|
|
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
|
|
KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/kafka-server-jaas.conf
|
|
|
|
kafka3:
|
|
image: apache/kafka:latest
|
|
container_name: kafka3
|
|
hostname: kafka3
|
|
networks:
|
|
- kafka-cluster-network
|
|
ports:
|
|
- "19094:9092"
|
|
volumes:
|
|
- ./broker3/data:/var/lib/kafka/data
|
|
- ./broker3/config:/mnt/shared/config
|
|
- ./broker3/secrets:/etc/kafka/secrets
|
|
- ./kafka-server-jaas.conf:/etc/kafka/kafka-server-jaas.conf
|
|
environment:
|
|
KAFKA_NODE_ID: 3
|
|
KAFKA_LISTENERS: PLAINTEXT://kafka3:9092,CONTROLLER://kafka3:9093
|
|
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.8:19094
|
|
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
|
|
KAFKA_PROCESS_ROLES: broker,controller
|
|
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka1:9093,2@kafka2:9093,3@kafka3:9093
|
|
KAFKA_CLUSTER_ID: my-kafka-cluster
|
|
KAFKA_LOG_DIRS: /var/lib/kafka/data
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: 3
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
|
|
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3
|
|
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2
|
|
KAFKA_MIN_INSYNC_REPLICAS: 2
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT
|
|
KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
|
|
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
|
|
KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/kafka-server-jaas.conf
|
|
|
|
kafka-console-ui:
|
|
image: wdkang/kafka-console-ui
|
|
container_name: kafka-console-ui
|
|
networks:
|
|
- kafka-cluster-network
|
|
ports:
|
|
- "7766:7766"
|
|
volumes:
|
|
- ./console-ui/data:/app/data
|
|
- ./console-ui/log:/app/log
|
|
privileged: true
|
|
user: root
|