重置消费位点是指改变订阅者当前的消费位置。当消费者出现故障或者消费错误数据时,您可通过重置消费位点将消费位置回滚到之前的某个位点或者指定分区位点,重新开始消费。您也可以将消费位置移动至最新位点,暂时不处理堆积的消息。
前提条件
已停止所有Consumer客户端(云消息队列 Kafka 版不支持在线重置消费位点)。
在停止Consumer客户端后,需要经过ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG
配置的时间(默认10000 ms),服务端才认为Consumer真正下线。
背景信息
云消息队列 Kafka 版支持以下重置消费位点方式:
从最新位点开始消费:不再消费Broker上堆积的消息,将消费位点重置到最新的位置。
说明堆积的消息本身并不会因此被删除,改变的只是消费位点。
指定时间点开始消费:将消费位点重置到过去的某个时间点(该时间点以Topic的消息存储时间为准)。
按分区消费位点进行重置:如果只有少量分区产生消息堆积,可以仅重置指定分区的消费位点,避免重复消费其他分区中已正确处理的消息。
操作步骤
在概览页面的资源分布区域,选择地域。
在实例列表页面,单击目标实例名称。
在左侧导航栏,单击Group 管理。
在Group 管理页面,单击目标Group ID。
在重置Group的消费位点面板,了解其前提条件,设置重置策略。
设置重置所有 Topic。
单击是,重置所有Topic的消费位点。
单击否,在Topic文本框输入需要重置Topic的名称。
设置重置方式。
单击从最新位点开始消费,将消费位点指定到最新的位置,单击确定。
单击从指定时间点的位点开始消费,在时间点文本框,单击,从指定时间点的位点开启消费功能,单击确定。
单击按分区消费位点进行重置,在目标分区所在行, 消费位点文本框输入开始消费位点值,单击确定。
在提示对话框,确认提示信息,单击确认。
相关文档
如果您希望通过API来重置消费位点,请参见UpdateConsumerOffset - 重置消费者组的消费位点。
重置完成后,您可以通过查看消费状态来获取最新的消费位点信息。