我有这个 docker-compose 配置:
kafka:
image: confluentinc/cp-kafka:latest
container_name: 'virl-kafka'
restart: always
ports:
- "9092:9092"
environment:
KAFKA_KRAFT_MODE: "true"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT
KAFKA_LISTENERS: INTERNAL://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" # Optional, set to true if you want auto-creation of topics
KAFKA_DELETE_TOPIC_ENABLE: "false" # Optional, set to true if you want to allow topic deletion
当卡夫卡启动时它会说:
virl-kafka | ===> User
virl-kafka | uid=1000(appuser) gid=1000(appuser) groups=1000(appuser)
virl-kafka | ===> Configuring ...
virl-kafka | Running in Zookeeper mode...
virl-kafka | KAFKA_ZOOKEEPER_CONNECT is required.
virl-kafka | Command [/usr/local/bin/dub ensure KAFKA_ZOOKEEPER_CONNECT] FAILED !
为什么还在尝试使用Zookeeper?
我查看了启动此 docker 映像时运行的配置文件。我想这将为您提供 KRAFT 模式所需的一些线索。我想你需要看看 KAFKA_PROCESS_ROLES。