kafka彻底删除topic
Posted 世界那么大,我想去看看
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka彻底删除topic相关的知识,希望对你有一定的参考价值。
- 如果当前topic没有使用过即没有传输过信息:可以彻底删除
- 如果当前topic有使用过即有过传输过信息:并没有真正删除topic只是把这个topic标记为删除(marked for deletion)。
要彻底把情况2中的topic删除必须把kafka中与当前topic相关的数据目录和zookeeper与当前topic相关的路径一并删除。
相关组件的版本
zookeeper: 3.4.6
kafka: 0.9.0.0
这里假设要删除的topic是test,kafka的zookeeper root为/kafka
删除kafka相关的数据目录
数据目录请参考目标机器上的kafka配置:server.properties -> log.dirs=/var/kafka/log/tmp
su rm -r /var/kafka/log/tmp/test*
删除kafka topic
/home/kafka/bin/kafka-topics.sh --delete --zookeeper HadoopMaster:2181/kafka --topic test
删除zookeeper相关的路径
- 打开zookeeper client
/home/ZooKeeper/bin/zkCli.sh
- 执行下面的命令
把test替换成你要删除的topic
#删除topic test的consumer group,如果有消费记录的话
rmr /kafka/consumers/test-group
rmr /kafka/config/topics/test rmr /kafka/brokers/topics/test rmr /kafka/admin/delete_topics/test
完成
重启zookeeper和kafka可以用下面命令查看相关的topic还在不在:
/home/kafka/bin/kafka-topics.sh --list --zookeeper HadoopMaster:2181/kafka
以上是关于kafka彻底删除topic的主要内容,如果未能解决你的问题,请参考以下文章