You need to enable JavaScript to run this app.
导航

重置消费位点

最近更新时间2023.09.27 10:17:49

首次发布时间2022.03.02 10:30:01

在清除堆积消息、离线数据处理等场景下,需要消费过去某个时段的消息,或清除所有堆积消息,可以对 offset 进行重置操作。消息队列 Kafka版控制台支持重置消费位点,改变订阅者当前的消费位置,您可以通过重置消费位点功能直接从某个指定时间点、最新 offset 位点或指定 offset 位点来消费消息。

背景信息

消息队列 Kafka版支持重置 Group、Topic 或分区级别的消费位点,支持的重置方式包括以下三种。

  • 根据最新 offset 位点重置:跳过所有堆积消息,从最新位点开始消费。堆积的消息本身并不会因此被删除。
  • 根据时间点重置:从过去的某个指定时段内选择一个时间点开始消费。该时间段由 Topic 的消息保留时间决定。
  • 根据指定 offset 位点重置:从当前分区的某个指定位点开始消费。重置后,Group 在当前分区中将指定位点开始消费。

前提条件

  • 消息队列 Kafka版不支持在线重置消费位点,在重置消费位点之前,必须停止 Consumer Group 中的所有消费者客户端,确保 Group 的状态为 Empty。
  • 停止消费者客户端后,需要经过指定的超时时间,服务端才认为 Consumer 真正下线。其中超时时间为 ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG 配置的时间,默认 10000ms。

操作步骤

  1. 登录消息队列 Kafka版控制台
  2. 在顶部菜单栏中选择地域,并在选择左侧导航栏中单击实例列表
  3. 找到目标实例,单击实例名称。
  4. 在顶部页签栏中单击Group管理,页签中展示当前实例下的 Group 列表。
  5. 根据重置的粒度,选择不同方式重置消费位点。
    • 重置当前消费组订阅的所有 Topic 的消费位点。

      1. 消费状态区域的左上角单击重置消费位点
      2. 在弹出对话框中确认需要重置消费位点的 Topic,并选择重置方式。 支持的重置方式包括以下两种。

      重置方式

      说明

      根据最新offset位点

      跳过所有堆积消息,从最新位点开始消费。

      根据时间点

      从过去某个指定时间点开始消费,该时间点以 Topic 的消息存储时间为准。
      根据时间点重置时,支持指定时间点为 Kafka 实例消息保留时长以内的任意过去时刻,不支持指定为未来时刻或超出存储时长的历史时刻。

      1. 单击确定
    • 重置当前消费组订阅的某个 Topic 的消费位点。

      1. 消费状态区域找到指定 Topic,并在其对应的操作列单击重置消费位点
      2. 在弹出对话框中确认需要重置消费位点的 Topic,并选择重置方式。 支持的重置方式包括以下两种。

      重置方式

      说明

      根据最新offset位点

      跳过所有堆积消息,从最新位点开始消费。

      根据时间点

      从过去某个指定时间点开始消费,该时间点以 Topic 的消息存储时间为准。
      根据时间点重置时,支持指定时间点为当前 Topic 消息保留时长以内的任意过去时刻,不支持指定为未来时刻或超出存储时长的历史时刻。

      1. 单击确定
    • 重置某个分区的消费位点。

      1. 展开分区所在的 Topic 折叠菜单,并在指定分区对应的操作列单击重置消费位点
      2. 在弹出对话框中确认需要重置消费位点的 Topic,并选择重置方式。 支持的重置方式包括以下三种。

      重置方式

      说明

      根据最新 offset 位点

      跳过所有堆积消息,从最新位点开始消费。

      根据时间点

      从过去某个指定时间点的位点开始消费,该时间点以 Topic 的消息保留时间为准。
      根据时间点重置时,支持指定时间点为当前 Topic 消息保留时长以内的任意过去时刻,不支持指定为未来时刻或超出存储时长的历史时刻。

      指定 offset 位点

      从当前分区的某个指定位点开始消费。重置后,Group 在当前分区中将指定位点开始消费。

      1. 单击确定