我尝试使用docker compose启动kafka群集,我使用以下配置:
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
command: [start-kafka.sh]
ports:
- "15092:9092"
hostname: kafka
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:15092
KAFKA_ADVERTISED_LISTENERS: INSIDE://:9092,OUTSIDE://:15092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- "zookeeper"
这两个服务都已启动并正在运行,但当我尝试使用代理从外部源生成消息时 external-ip:15092
我收到以下错误: dial tcp: lookup kafka: no such host
你能帮我找出缺少什么配置吗?
谢谢
1条答案
按热度按时间xvw2m8pv1#
你得到的是“没有这样的主机”,这甚至发生在端口被使用之前。您需要在同一docker网络中的另一个容器中运行代码,以便解析服务名称
Kafka不是这样工作的(一个简单的港口前进),无论如何
两位听众的音量都设定在9092
您需要添加/更改包含
externalIP:15092
为了让它工作,您可以找到多个地方记录侦听器的差异(包括该容器的wiki页面)所以,
KAFKA_LISTENERS: INSIDE://:9092
你所需要的(或者更恰当地说,是INSIDE://0.0.0.0:9092
)但是你需要编辑