我在使用KafaConsumer时遇到了麻烦,无法让它从头开始读取,或者从任何其他显式偏移量读取。
针对同一主题为使用者运行命令行工具时,我确实看到带有--from-beginning选项的消息,否则它将挂起
$ ./kafka-console-consumer.sh --zookeeper {localhost:port} --topic {topic_name} --from-beginning如果我通过python运行它,它会挂起,我怀疑这是由不正确的使用者配置引起的。
consumer = KafkaConsumer(topic_name,
bootstrap_servers=['localhost:9092'],
group_id=None,
auto_commit_enable=False,
auto_offset_reset='smallest')
print "Consuming messages from the given topic"
for message in consumer:
print "Message", message
if message is not None:
print message.offset, message.value
print "Quit"输出:
使用来自给定主题的消息(在此之后挂起)
我使用的是kafka-python 0.9.5,而代理运行的是kafka 8.2。不确定确切的问题是什么。
按照dpkp的建议设置_group_id=None_以模拟控制台使用者的行为。
发布于 2016-03-15 12:33:50
控制台使用者和您所发布的python使用者代码之间的区别在于,python使用者使用一个使用者组来保存偏移量:group_id="test-consumer-group"。如果改为设置group_id=None,您应该会看到与控制台使用者相同的行为。
发布于 2019-05-16 16:48:18
auto_offset_reset=‘最早’为我解决了这个问题。
发布于 2019-12-04 17:13:19
auto_offset_reset='earliest'和group_id=None帮我解决了这个问题。
https://stackoverflow.com/questions/35217603
复制相似问题