我已经通过以下代码将G1组中的一个Kafka消费者的获取偏移量重新计算为off1:
consumer1.set_topic_partitions((topic, partition, off1))
在上面一行中,off1是相应分区中主题的最旧可用消息的偏移量。
现在我正在实例化不同组G2中的Kafka消费者,如下所示:
consumer2 = KafkaConsumer(bootstrap_servers=broker,
auto_offset_reset='smallest',
auto_commit_enable=True,
auto_commit_interval_ms=3000,
group_id='G2'
)
这里我将读取偏移量作为off1读取,这与我为G1组中的consumer1重置的相同。我认为这不应该发生,因为不同的群体抵消应该是不同的。如果有人澄清,我将非常感激。提前谢谢。
答案 0 :(得分:1)
两个消费者群体是否都在阅读相同的主题?
如果是这样,则consumer1被设置为最早的偏移量,同样,消费者2也被设置为该主题最早的设置:
auto_offset_reset='smallest'
这将在该主题的最早偏移处启动消费者。要从主题中的最新点开始使用Consumer2:
auto_offset_reset='largest'