Offset Explorer无法连接Docker部署Kafka的配置问题排查
配置错误排查结论
核心问题是Kafka监听器配置不完整,导致容器内9092端口无服务监听,宿主机端口映射失效,外部工具自然无法连接。
具体错误点
- 缺失必填的
KAFKA_LISTENERS参数:你仅配置了KAFKA_ADVERTISED_LISTENERS(用于告知客户端可连接的地址),但没有指定Kafka进程实际要绑定监听的地址和端口。当前配置下Kafka只会监听KAFKA_INTER_BROKER_LISTENER_NAME对应的PLAINTEXT监听器的29092端口,9092端口没有任何进程监听,你配置的9092:9092端口映射属于无效配置。
修正方案
在kafka服务的environment配置块中补充KAFKA_LISTENERS参数,让Kafka同时绑定两个监听器的端口,修正后的kafka环境变量配置如下:
environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:29092,PLAINTEXT_HOST://0.0.0.0:9092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
配置修改后执行docker-compose down && docker-compose up -d重启服务,宿主机本地可以先通过telnet localhost 9092验证端口连通性,连通正常后再用Offset Explorer连接即可。
内容的提问来源于stack exchange,提问作者Vlad Aleshin
相关产品推荐
相关产品推荐

