更新时间:2025-08-21 GMT+08:00
删除Kafka Topic
本章节指导您删除Topic,请根据实际情况选择以下任意一种方式:
约束与限制
- 删除Topic会导致Topic中的数据也被删除,并且无法找回,同时会影响使用该Topic的相关业务。
- 已开启密文接入的实例,“allow.everyone.if.no.acl.found”设置为“false”时,初始用户(即首次开启密文接入时设置的用户)可以通过客户端删除Topic,其他用户无法通过客户端删除Topic。
前提条件
只有运行中的实例才可以删除Topic。
删除Kafka Topic
您可以通过控制台删除Topic,也可以通过客户端删除Topic。
- 登录Kafka控制台。
- 在管理控制台左上角单击
,选择Kafka实例所在的区域。
- 单击Kafka实例的名称,进入实例详情页面。
- 在左侧导航栏选择“实例管理 > Topic管理”,进入Topic列表页面。
- 通过以下任意一种方法,删除Topic。
- 勾选Topic名称左侧的方框,可选一个或多个,单击信息栏左上侧的“删除Topic”。
- 在待删除Topic所在行,单击“更多 > 删除”。
- 在“删除Topic”对话框中,单击“确定”。
已删除的Topic不再显示在Topic列表中,表明Topic已成功删除。
Kafka客户端版本为2.2以上时,支持通过kafka-topics.sh删除Topic。
- 未开启密文接入的Kafka实例,在Kafka客户端的“/bin”目录下,通过以下命令删除Topic。
./kafka-topics.sh --bootstrap-server {connection-address} --delete --topic {topic-name}
表1 删除Topic参数说明 参数名称
说明
connection-address
Kafka实例的连接地址,在Kafka控制台的“概览 > 连接信息”中获取。
topic-name
Topic名称。
示例如下:
[root@ecs-kafka bin]# ./kafka-topics.sh --bootstrap-server 192.168.xx.xx:9092,192.168.xx.xx:9092,192.168.xx.xx:9092 --delete --topic topic-01 [root@ecs-kafka bin]#
- 已开启密文接入的Kafka实例,通过以下步骤删除Topic。
- (可选)如果已经设置了SSL证书配置,请跳过此步骤,执行2。否则请执行以下操作。
在Kafka客户端的“/config”目录中创建“ssl-user-config.properties”文件,参考3增加SSL证书配置。
- 在Kafka客户端的“/bin”目录下,通过以下命令删除Topic。
./kafka-topics.sh --bootstrap-server {connection-address} --delete --topic {topic-name} --command-config ../config/{ssl-user-config.properties}
表2 删除Topic参数说明 参数名称
说明
connection-address
Kafka实例的连接地址,在Kafka控制台的“概览 > 连接信息”中获取。
topic-name
Topic名称。
ssl-user-config.properties
配置文件的名称,此配置文件用于存放用户名和密码,以及SSL证书配置信息。
示例如下:
[root@ecs-kafka bin]# ./kafka-topics.sh --bootstrap-server 192.168.xx.xx:9093,192.168.xx.xx:9093,192.168.xx.xx:9093 --delete --topic topic-01 --command-config ../config/ssl-user-config.properties [root@ecs-kafka bin]#
- (可选)如果已经设置了SSL证书配置,请跳过此步骤,执行2。否则请执行以下操作。
相关文档
- 如果您希望通过API删除Topic,请参考Kafka实例批量删除Topic。
- 如果您删除Topic后,发现Topic依然存在,请参考删除Topic失败进行处理。