kafka-python 基本生产和消费不工作

kafka-python basic producing and consuming not working

我是 kafka 的新手,我正在尝试 运行 基本示例。

我的kafka是运行这个配置:https://developer.confluent.io/quickstart/kafka-docker/

python3.7; kafka安装如下:pip install kafka-python (2.0.2)

我关注这个文档;然后我 运行 两个控制台(消费和生产各一个)

消费者:

from kafka import KafkaConsumer
for m in KafkaConsumer('my-topic', bootstrap_servers='broker'):
    print(m)

制作人:

from kafka import KafkaProducer
p = KafkaProducer(bootstrap_servers='broker')
p.send('my-topic', b'my message!')

p.send() 之后,我希望消费者能收到消息。但是没有任何反应。 我的设置有什么问题?

编辑: 控制台是同一个 docker-compose

中的 运行 容器

broker只在docker-compose网络内部解析,如果你是运行主机中的脚本,你应该使用localhost.

并且如果您 运行 将脚本作为同一 docker-compose 中的容器,您应该使用 broker:29092 因为 Kafka 正在侦听来自 [=17] 中的连接=] 网络.