更新时间:2023-01-11 13:47:13
每个分区是一个有序的,不可变的记录序列,即连续附加到-结构化提交日志.记录在每个分区都分配有一个顺序ID号,称为偏移量唯一地标识分区中的每个记录.
消费者甚至可以从一开始就读取特定的偏移量:
要为特定消费者组重置偏移量,可以使用以下命令:
kafka-consumer-groups --bootstrap-server localhost:9092 --group my-group --reset-offsets-最早--all-topics --execute
Will each message posted (assuming messages are compressed) have a unique offset# assigned and remain sequential and incremental within a given partition? Also, is it possible that the offset# sequence can reset itself, meaning it can start from 0?
Official documentation is quite clear on that:
For each topic, the Kafka cluster maintains a partitioned log that looks like this:
Each partition is an ordered, immutable sequence of records that is continually appended to—a structured commit log. The records in the partitions are each assigned a sequential id number called the offset that uniquely identifies each record within the partition.
Consumers are able to read from specific offsets even from the beginning:
In order to reset offsets for a particular consumer group you can use the following:
kafka-consumer-groups --bootstrap-server localhost:9092 --group my-group --reset-offsets --to-earliest --all-topics --execute