批量删除kafka topic

第一步:配置delete.topic.enable=true (所有节点都要配置)

修改kafka配置文件server.properties, 添加delete.topic.enable=true,重启kafka,之后通过kafka命令行就可以直接删除topic

重启kafka集群,并查看配置文件生效

第二步:编写脚本(kfaka_topic_delete.sh)

#!/bin/bash

#通过过滤,找到需要批量删除的topic,我的是51开头的。 #ID='/usr/hdp/3.1.4.0-315/kafka/bin/kafka-topics.sh --zookeeper 192.168.1.214:2181 --list | grep 51' for i in $(/usr/hdp/3.1.4.0-315/kafka/bin/kafka-topics.sh --zookeeper 192.168.1.214:2181 --list | grep 51); do /usr/hdp/3.1.4.0-315/kafka/bin/kafka-topics.sh --zookeeper 192.168.1.214:2181,192.168.1.215:2181,192.168.1.216:2181 --delete --topic $i echo $i done

第三步:给脚本添加执行权限

chmod +x kfaka_topic_delete.sh 

第四步:等待并查看就行

就算添加delete.topic.enable=true了,执行脚本一样会爆

Topic 511424_3.dbo.work_log is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true

  

 

 

 

 

这样就成功了

 

posted @ 2021-05-20 17:15  llody  阅读(1231)  评论(0编辑  收藏  举报