我有一个具有单个分区的主题。我有2个不同的消费群体。每个消费者组都有一个消费者。此后,第一消费群体一直在运行。我开始制作人。另一方面,消费者组2刚开始使用auto.offset.reset =最早的参数。
尽管,消费者#2开始使用最近重写的消息。
问题1:如何强制2号消费者组中的消费者从头开始?
第二季度:为什么auto.offset.reset(https://kafka.apache.org/documentation/-在Kafka中没有初始偏移量或服务器上不再存在当前偏移量时怎么办)?由于它没有按我预期的那样工作;这意味着我对它的理解不正确。
Kafka 2.11-0.11.0.1
Confluent-python v0.11.5
from confluent_kafka import Consumer, KafkaError
c = Consumer({
'bootstrap.servers': 'mybroker',
'group.id': 'mygroup', # I update group.id everytime I run
'auto.offset.reset': 'earliest'
})
c.subscribe(['mytopic'])
while True:
msg = c.poll(1.0)
if msg is None:
continue
if msg.error():
print("Consumer error: {}".format(msg.error()))
continue
print('Received message: {}'.format(msg.value().decode('utf-8')))
c.close()
结论:python的融合API似乎有问题。因为auto.offset.reset对于Java客户端来说很好用。