1 配置kafka broker支持删除topic
删除topic需要kafka broker的支持,在broker中使用配置项delete.topic.enable=true开启删除topic功能。如果borker之前未配置,可以修改/config/server.properties 后重启broker以开启删除topic的功能。
2 使用kafka-topics.sh 删除topic
删除topic的命令如下:
sh kafka-topics.sh — zookeeper zookeeper_host:2181 -- delete -- topic <topic_name>
正常情况下执行上述命令后对应的topic会被删除,但是在某些场景下topic则无法被删除,此时可以参考步骤3
3 在zookeeper上删除topic
方法一: 在zookeeper上执行删除topic命令
使用zkCli.sh脚本登陆zookeeper集群
sh zkCli.sh -server zookeeper_host:2181
执行下述命令删除topic:
rmr /brokers/topics/<topic_name>
rmr /admin/delete_topics/<topic_name>
方法二:使用kafka自带的zookeeper-shell.sh脚本删除topic
命令如下:
sh zookeeper-shell.sh 172.26.129.195:2181 rmr /brokers/topics/<topic_name>
sh zookeeper-shell.sh 172.26.129.195:2181 rmr /admin/delete_topics/<topic_name>"
4 说明
zookeeper_host 为zookeeper集群的任一地址
topic_name 为待删除的topic