#创建并授权日志目录
mkdir -p /data/middleware/kafka/kafka1/kraft
chown -R 777 /data/middleware/kafka/kafka1/kraft
#节点1服务器
version: '2'
services:
kafka-1:
image: apache/kafka:3.7.2
hostname: kafka-1
container_name: kafka-1
ports:
- 9092:9092
- 9093:9093
- 19092:19092
environment:
KAFKA_NODE_ID: 1
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@172.1.1.103:9093,2@172.1.1.104:9093,3@172.1.1.105:9093'
KAFKA_LISTENERS: 'PLAINTEXT://:19092,CONTROLLER://:9093,PLAINTEXT_HOST://:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.1.1.103:19092,PLAINTEXT_HOST://localhost:9092
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
CLUSTER_ID: '*****'
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_LOG_DIRS: '/tmp/kraft-combined-logs'
KFAKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
KFAKA_LOG_RETENTION_HOURS: '24'
KFAKA_UNCLEAN_LEADER_ELECTION_ENABLE: 'true'
volumes:
- ${PWD}/middleware/kafka/kafka1/kraft:/tmp/kraft-combined-logs
- /etc/localtime:/etc/localtime:ro
- /etc/hosts:/etc/hosts
#节点2服务器
version: '2'
services:
kafka-2:
image: apache/kafka:3.7.2
hostname: kafka-2
container_name: kafka-2
ports:
- 9092:9092
- 9093:9093
- 19092:19092
environment:
KAFKA_NODE_ID: 2
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@172.1.1.103:9093,2@172.1.1.104:9093,3@172.1.1.105:9093'
KAFKA_LISTENERS: 'PLAINTEXT://:19092,CONTROLLER://:9093,PLAINTEXT_HOST://:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.1.1.104:19092,PLAINTEXT_HOST://localhost:9092
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
CLUSTER_ID: '*****'
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_LOG_DIRS: '/tmp/kraft-combined-logs'
KFAKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
KFAKA_LOG_RETENTION_HOURS: '24'
KFAKA_UNCLEAN_LEADER_ELECTION_ENABLE: 'true'
mem_limit: 2g
volumes:
- ${PWD}/middleware/kafka/kafka2/kraft:/tmp/kraft-combined-logs
- /etc/localtime:/etc/localtime:ro
- /etc/hosts:/etc/hosts
#节点3服务器
version: '2'
services:
kafka-3:
image: apache/kafka:3.7.2
hostname: kafka-3
container_name: kafka-3
ports:
- 9092:9092
- 9093:9093
- 19092:19092
environment:
KAFKA_NODE_ID: 3
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@172.1.1.103:9093,2@172.1.1.104:9093,3@172.1.1.105:9093'
KAFKA_LISTENERS: 'PLAINTEXT://:19092,CONTROLLER://:9093,PLAINTEXT_HOST://:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.1.1.105:19092,PLAINTEXT_HOST://localhost:9092
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
CLUSTER_ID: '*****'
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_LOG_DIRS: '/tmp/kraft-combined-logs'
KFAKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
KFAKA_LOG_RETENTION_HOURS: '24'
KFAKA_UNCLEAN_LEADER_ELECTION_ENABLE: 'true'
volumes:
- ${PWD}/middleware/kafka/kafka3/kraft:/tmp/kraft-combined-logs
- /etc/localtime:/etc/localtime:ro
- /etc/hosts:/etc/hosts
#任意节点
version: '2'
services:
kafka-ui:
image: provectuslabs/kafka-ui:latest
# network_mode: heilansc-product
container_name: kafka-ui
restart: always
ports:
- 9091:8080
volumes:
- /etc/localtime:/etc/localtime
- /etc/hosts:/etc/hosts
environment:
# 集群名称
- KAFKA_CLUSTERS_0_NAME=*****
# 集群地址
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=172.1.1.103:19092,172.1.1.104:19092,172.1.1.104:19092
多节点docker-compose部署kafka 3.7.2集群
于 2025-02-19 17:08:37 首次发布