首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker for Windows上的Kafka -无法使用数据

Docker for Windows上的Kafka -无法使用数据
EN

Stack Overflow用户
提问于 2020-01-19 08:41:10
回答 1查看 266关注 0票数 2

我使用bitnami/kafka docker模板创建了一个kafka设置。在多次重新创建容器(我无法连接到9092上的Kafka )之后,我终于启动并运行了我的集群。我认为这些问题是由于Docker安装在Windows上而不是Linux上的事实造成的。

我目前的问题是,我无法使用kafka-python库和以下代码来使用任何消息:

代码语言:javascript
运行
复制
from kafka import KafkaConsumer
from kafka import TopicPartition

print('Making connection.')
consumer = KafkaConsumer(bootstrap_servers='localhost:9092')

print('Assigning Topic.')
consumer.assign([TopicPartition('linuxhint', 2)])

print('Getting message.')
for message in consumer:
    print("OFFSET: " + str(message[0])+ "\t MSG: " + str(message))

代码不会失败。它会打印"Getting message“行,但不会结束。我试着使用Conduktor应用程序消费相同的主题,但我也做不到。Conduktor甚至无法读取主题的数量和大小。如何排除故障?

EN

回答 1

Stack Overflow用户

发布于 2020-01-19 14:27:01

要进行故障排除,请执行到Kafka容器并运行

代码语言:javascript
运行
复制
kafka-console-consumer --bootstrap-server localhost:9092 --from-beginning --topic linuxhint

然后在容器外部,确保适当地配置KAFKA_CFG_ADVERTISED_LISTENERS (此属性仅适用于bitnami容器),并在Docker命令中公开正确的端口。

https://github.com/bitnami/bitnami-docker-kafka#accessing-kafka-with-internal-and-external-clients

然后,如果你正在使用Python集成,而不是在虚拟机管理程序中运行WSL2 (即从windows运行代码),就像Conduktor所做的那样,那么我认为需要在Docker之外完成一些额外的端口转发。因此,下一个调试步骤将是直接从WSL2运行代码。

最后,确保您使用的是您的消费者组的最早偏移量,并且/或者在您运行生产者之后启动消费者(您运行的任何生产者代码都会有类似的连接问题)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59806169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档