删除Kafka消息
本章节介绍如何在控制台删除Topic中存储的消息。
约束与限制
消息删除后无法恢复,请谨慎操作。
前提条件
删除消息前,请先在消费代码中设置“auto.offset.reset”参数。“auto.offset.reset”用来指定当Kafka中没有初始偏移量或者当前偏移量不存在(例如当前偏移量已被删除)时,消费者的消费策略。取值如下:
- latest:偏移量自动被重置到最晚偏移量。
- earliest:偏移量自动被重置到最早偏移量。
- none:向消费者抛出异常。
如果将此配置设置为latest,新增分区时,生产者可能会在消费者重置初始偏移量之前开始向新增加的分区发送消息,从而导致部分消息丢失。
删除Kafka消息
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
请选择Kafka实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
- 在左侧导航栏单击“Kafka实例”,进入Kafka实例列表页面。
- 单击Kafka实例名称,进入实例详情页面。
- 在左侧导航栏选择“Topic管理”,进入Topic列表页面。
- 执行以下步骤,弹出“消息删除”对话框。
- 如果实例未开启密文接入功能,在待删除消息的Topic所在行,单击“消息删除”。
- 如果实例已开启密文接入功能,在待删除消息的Topic所在行,单击“更多 > 消息删除”。
- 设置消息删除参数,如表1所示。
图1 消息删除
表1 消息删除参数说明 参数
说明
分区
选择消息所在的分区编号。
偏移量
输入偏移量,最早偏移量到输入偏移量之前的数据将被删除。例如:最早偏移量为2,输入的偏移量为5,此时会删除偏移量为2到4的消息。
请注意以下几点:
- 如果“偏移量”设置为“-1”,表示删除分区中所有的消息。
- 如果您输入的偏移量不在指定分区的最早偏移量和最晚偏移量之间,消息将不会被删除。
如果需要删除多个分区的消息,单击“添加分区”,设置需要删除消息的分区和偏移量。每次最多可选择10个分区。
- 单击“确定”,弹出“清理结果”对话框,单击“确定”,完成消息的删除。
图2 清理结果