gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 19:52:24 26 4
gpt4 key购买 nike

我使用 bitnami/kafka docker 模板创建了一个 kafka 设置。在多次重新创建容器后(我无法在 9092 上连接到 Kafka),我终于启动并运行了我的集群。我相信问题是由于 Docker 安装在 Windows 而不是 Linux 上的事实引起的。
我目前的问题是我无法使用 kafka-python 库和以下代码来使用任何消息:

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))
代码不会失败。它打印“获取消息”行并且没有完成。
我尝试使用 Conduktor 应用程序使用相同的主题,但我也做不到。 Conduktor 甚至无法读取主题的数量和大小。我该如何解决?

最佳答案

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

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
然后,如果您使用 WSL2 docker 集成,但没有在管理程序中运行 Python(即,而是从 Windows 运行代码),就像 Conduktor 会做的那样,那么我认为需要在 Docker 之外完成一些额外的端口转发.因此,下一个调试步骤是直接从 WSL2 运行代码。
最后确保您使用消费者组的最早偏移量和/或在运行生产者后启动消费者(您正在运行的任何生产者代码都会有类似的连接问题)

关于docker - Docker for Windows 上的 Kafka - 无法使用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59806169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com