我在代码中使用auto.offset.reset=earliest
,并在以下代码的帮助下在kafka中使用了偏移提交。
val offsetRanges=rdd.asInstanceOf[HasOffsetRanges].offsetRanges
inputStream.asInstanceOf[CanCommitOffsets].commitAsync(offsetRanges)
现在,当我运行程序时,它不会收到新消息,因为所有消息都已提交。
我正在QA中测试此代码,因此希望将偏移量重置为开始,但似乎最早无法使用,因此它没有读取新消息,并且该主题中没有新消息。我想从头开始阅读邮件以进行测试。
如果最早从提交开始就不提取消息,有人可以协助吗?
答案 0 :(得分:1)
仅当分区没有提交的偏移量时才使用属性auto.offset.reset
。您可以使用kafka-consumer-groups
(作为Kafka的一部分)重置整个组的偏移量:
kafka-consumer-groups --bootstrap-server <kafkahost:port> --group <group_id> --topic <topic_name> --reset-offsets --to-earliest --execute