新版kafka彻底删除topic

使用kafka时,经常创建一些测试的topic,之后想把这些topic删除掉的时候,尝试了一些网上的方法,总是无法彻底删除。

总结了一下,应该是跟新版kafka和旧版kafka对zookeeper的依赖程度有关,有些zookeeper删除操作是不必要的了。kafka中zookeeper的使用参考https://www.jianshu.com/p/a036405f989c。借用一张图如下:

新版kafka的consumer由kafka自己管理,因此在删除topic时,只需要处理跟topic相关的节点。

0、前置条件:server.properties 设置 delete.topic.enable=true

1、如果需要被删除topic 此时正在被程序 produce和consume,则这些生产和消费程序需要停止。

2、使用kafka/bin目录下的命令行工具预删除:

./bin/kafka-topics --delete --zookeeper 【zookeeper server:port】 --topic 【topic name】

这一步执行完之后,节点被标记为删除,并没有物理删除。

3、 删除kafka存储目录(server.properties文件log.dirs配置,默认为"/data/kafka-logs")相关topic的数据目录。

4、 删除zookeeper里的topic信息:

bin/zkCli.sh -server 【zookeeper server:port】

登录到zk shell,然后找到topic所在的目录:ls /brokers/topics,找到要删除的topic,然后执行命令:

rmr /brokers/topics/【topic name】

rmr /admin/delete_topics/【topic name】

5、 重启zk和kafka​​​​​​​。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值