33 lines
1.3 KiB
YAML
33 lines
1.3 KiB
YAML
services:
|
|
kafka:
|
|
image: apache/kafka:4.0.0
|
|
container_name: kafka-apache-kraft-410
|
|
hostname: kafka-kraft
|
|
ports:
|
|
- "9092:9092" # 映射 Broker 端口
|
|
environment:
|
|
KAFKA_LOG4J_OPTS: "-Dlog4j.configurationFile=file:/opt/kafka/config/custom-log4j2.yaml"
|
|
KAFKA_NODE_ID: 1
|
|
KAFKA_PROCESS_ROLES: "broker,controller"
|
|
|
|
# 2. 监听器配置
|
|
KAFKA_LISTENERS: "PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093"
|
|
KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://localhost:9092"
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT"
|
|
KAFKA_CONTROLLER_LISTENER_NAMES: "CONTROLLER"
|
|
|
|
# 3. Controller 连接信息(单节点)
|
|
KAFKA_CONTROLLER_QUORUM_VOTERS: "1@kafka-kraft:9093"
|
|
|
|
KAFKA_LOG_DIRS: "/var/lib/kafka/data"
|
|
|
|
# 为内部 topic __consumer_offsets 设置副本因子为 1
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
# (可选,推荐) 事务状态 topic 的副本因子也设置为 1
|
|
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
|
|
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
|
|
volumes:
|
|
- ./kafka-data:/var/lib/kafka/data # 数据持久化
|
|
- ./log4j2.yaml:/opt/kafka/config/custom-log4j2.yaml:ro # 日志级别配置
|
|
restart: always
|