我有一个小组讨论两个主题。我试图将其中之一的偏移量重置为1
,但收到一条消息,指出偏移量(1)低于主题分区的最早偏移量。
➜ local-kafka_2.12-2.0.0 bin/kafka-consumer-groups.sh --bootstrap-server myserver:1025 --group mygroup --topic mytopic --reset-offsets --to-offset 1 --dry-run
[2019-01-31 21:41:35,664] WARN New offset (1) is lower than earliest offset for topic partition mytopic-0. Value will be set to 121 (kafka.admin.ConsumerGroupCommand$)
TOPIC PARTITION NEW-OFFSET
mytopic 0 121
尝试不同的分区时会收到相同的消息:
➜ local-kafka_2.12-2.0.0 bin/kafka-consumer-groups.sh --bootstrap-server myserver:1025 --group mygroup --topic mytopic:0,1,2 --reset-offsets --to-offset 1 --dry-run
[2019-01-31 21:43:16,526] WARN New offset (1) is lower than earliest offset for topic partition mytopic-0. Value will be set to 121 (kafka.admin.ConsumerGroupCommand$)
[2019-01-31 21:43:16,528] WARN New offset (1) is higher than latest offset for topic partition mytopic-1. Value will be set to 0 (kafka.admin.ConsumerGroupCommand$)
[2019-01-31 21:43:16,528] WARN New offset (1) is higher than latest offset for topic partition mytopic-2. Value will be set to 0 (kafka.admin.ConsumerGroupCommand$)
TOPIC PARTITION NEW-OFFSET
mytopic 0 121
mytopic 1 0
mytopic 2 0
有没有办法将偏移量设置为1?还是更好,但是为什么我不能将kafka主题重置为1?
答案 0 :(得分:0)
新偏移量(1)高于主题分区mytopic-2的最新偏移量。值将设置为0
这意味着mytopic-2
的结束偏移量为零,这主要是由于该分区中没有存储记录,因此您不能设置大于零的偏移量。
新偏移量(1)低于主题分区mytopic-0的最早偏移量。值将设置为121
这意味着mytopic-0
的起始偏移量是121,这是允许公开给客户端的最早偏移量,因此您不能为此分区设置较低的偏移量。起始偏移量将被更新的可能情况包括:1.日志保留; 2.日志截断; 3.发出kafka-delete-records脚本或DeleteRecordsRequest。