重置消费位点是指改变订阅者当前的消费位置。您可通过重置消费位点,按需清除堆积的或不想消费的这部分消息,或直接跳转到某个时间点,从指定时间点的位点开始消费消息。

前提条件

已停止所有Consumer客户端(消息队列Kafka版不支持在线重置消费位点)。
注意 在停止Consumer客户端后,需要经过ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG配置的时间(默认10000 ms),服务端才认为Consumer真正下线。

背景信息

消息队列Kafka版支持以下重置消费位点方式:

  • 消息清除:因为某种原因,订阅者不准备再继续消费Broker上堆积的消息,此时通过清除消息,可以将消费位点指定到最新的位置。
    注意 堆积的消息本身并不会因此被删除,改变的只是消费位点。
  • 指定时间点开始消费:将某个Group的位点重置到过去或者将来的某个时间点(该时间点以Topic的消息存储时间为准,假设为“t”)。重置过后,Group将从“t”时间点的位点开始消费。
  • 指定分区位点开始消费:将某个Group的位点按照分区重置到某个位点(分区为当前Group订阅的Topic下的分区,假设重置分区“1”的消费位点为“3”)。重置后,Group在分区1中将从“3”位点开始消费。

操作步骤

  1. 登录消息队列Kafka版控制台
  2. 概览页面的资源分布区域,选择地域。
  3. 实例列表页面,单击目标实例名称。
  4. 在左侧导航栏,单击Group 管理
  5. Group 管理页面,找到目标Group,在其右侧操作列,选择更多 > 重置消费位点
  6. 重置Group的消费位点面板,了解其前提条件,设置重置策略。
    1. 设置重置所有 Topic
      • 单击,重置所有Topic的消费位点。
      • 单击,在Topic文本框输入需要重置Topic的名称。
    2. 设置重置方式
      • 单击从最新位点开始消费,将消费位点指定到最新的位置,单击确定
      • 单击从指定时间点的位点开始消费,在时间点文本框,单击日历,从指定时间点的位点开启消费功能,单击确定
      • 单击按分区消费位点进行重置,在目标分区所在行, 消费位点文本框输入开始消费位点值,单击确定
  7. 提示对话框,确认提示信息,单击确认