查看和手动重置消费进度

最近更新时间:2025-11-27 21:16:11

我的收藏

操作场景

消费进度(offset)表示消费者消费消息的位置,在某些业务场景下,例如数据处理异常、业务逻辑变更或系统运维需求,可能会需要重置消费位点,以重新消费或跳过特定消息。

约束与限制

重置消费进度可能会导致消息被重复消费,请谨慎操作。

前提条件

CKafka 不支持在消费组处于活跃状态时直接重置消费进度,因此在重置消费进度前,请停止目标消费组的所有消费活动。停止消费者客户端后,需等待服务端识别消费者下线(等待时长由 ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG 参数决定,默认1000毫秒)。

查看消费进度

1. 登录 CKafka 控制台
2. 在左侧导航栏单击实例列表,选择好地域后,单击目标实例的“ID”,进入实例基本信息页面。
3. 在实例基本信息页面,单击 Consumer Group 页签,可以查看实例下的消费组列表信息。
4. 单击消费组名称列左侧的小三角,可以查看该消费组订阅的 Topic 信息,以及消费进度信息。


重置消费进度

1. 登录 CKafka 控制台
2. 在左侧导航栏单击实例列表,选择好地域后,单击目标实例的“ID”,进入实例基本信息页面。
3. 在实例基本信息页面,单击 Consumer Group 页签,可以查看实例下的消费组列表信息。
4. 单击目标消费组操作列的 offset 设置,在 offset 设置弹窗中选择重置方式。
以 Topic 为维度设置:对整个 Topic 的所有分区统一重置,适用于批量重设消费位点,按业务设置消费位点等场景。
以 Partition 为维度设置:可以针对 Topic 的单个或多个特定分区进行重置,适用于部分分区需要特殊处理的场景,可以解决数据倾斜或特定分区问题。
5. 单击下一步,在下拉框中选择需要重置消费进度的对象。
以 Topic 为维度设置:选择需要重置的 Topic,支持多选,不选择默认重置实例下所有 Topic 的 offset。
以 Partition 为维度设置:选择需要重置的 Partition,支持多选,不选择默认重置 Topic 下所有 Partition 的 offset。
6. 单击下一步,对 offset 进行指定。
将 offset 移动到指定位置:将消费位点精确调整到指定的 offset 位置。offset 的调整范围介于最小 offset 和最大 offset 之间,如输入位置小于/大于 offset 范围则会重置到最小/最大 offset 位置。
将 offset 向前或向后移动若干条:基于当前位置相对移动 offset,输入负数向前移动,输入正数向后移动,移动后位置同样受最小/最大 offset 限制。
从最新/最开始位置开始消费:快速将消费位点重置到起始或末端位置。最新表示从最新的消息开始消费(跳过所有积压消息);最早表示从最早的消息开始消费。
按时间点进行消费位置重置:根据时间戳定位 offset,可以指定时间点,精确到秒。
7. 单击提交,完成重置。