来源:http://blog.csdn.net/unionibm/article/details/52575146
如果只是用kafka-topics.sh的delete命令删除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配置:server.properties -> log.dirs=/var/kafka/log/tmp
su rm -r /var/kafka/log/tmp/test*
*此时并没有完全删除只是把相应topic的状态改为marked for deletion
把test替换成你要删除的topic
#删除topic test的consumer group,如果有消费记录的话 rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。
重启zookeeper和kafka可以用下面命令查看相关的topic还在不在:
bin/kafka-topics.sh --list --zookeeper localhost:2181