我使用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))
代码不会失败。它会打印"Getting message“行,但不会结束。我试着使用Conduktor应用程序消费相同的主题,但我也做不到。Conduktor甚至无法读取主题的数量和大小。如何排除故障?
发布于 2020-01-19 14:27:01
要进行故障排除,请执行到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
然后,如果你正在使用Python集成,而不是在虚拟机管理程序中运行WSL2 (即从windows运行代码),就像Conduktor所做的那样,那么我认为需要在Docker之外完成一些额外的端口转发。因此,下一个调试步骤将是直接从WSL2运行代码。
最后,确保您使用的是您的消费者组的最早偏移量,并且/或者在您运行生产者之后启动消费者(您运行的任何生产者代码都会有类似的连接问题)
https://stackoverflow.com/questions/59806169
复制相似问题