【发布时间】:2021-01-11 05:44:53
【问题描述】:
我在我的 Windows PC 上安装了 Kafka。创建了一个主题quickstart-events 并发送了一些消息。运行带有参数--from-beginning的控制台消费者可以接收到消息。
.\bin\windows\kafka-console-consumer.bat --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
Picked up JAVA_TOOL_OPTIONS: -agentpath:"C:\WINDOWS\system32\Aternity\Java\JavaHookLoader.dll"="C:\ProgramData\Aternity\hooks"
msg1
msg2
msg3
msg4
但是,使用参数auto_offset_reset='earliest' 运行 Python 代码将第一次打印消息。那么,第一次运行后它不打印任何消息?
from kafka import KafkaConsumer, KafkaProducer
consumer = KafkaConsumer('quickstart-events', bootstrap_servers=['localhost:9092'], auto_offset_reset='smallest')
for msg in consumer:
print(msg)
【问题讨论】:
-
我用
earliest试过了,但它仍然没有打印任何消息。控制台消费者仍在打印。 -
我重新启动了我的电脑,现在代码可以工作了。
-
是的,再次运行它,现在什么也没有打印出来。我没有指定任何消费者组。有没有办法让它每次都打印消息?
标签: python apache-kafka kafka-consumer-api