想要徹底刪除topic數據要經過下面兩個步驟:
①:刪除topic,重新用創建topic語句進行創建topic
②:刪除zookeeper中的consumer中的路徑。
這里假設要刪除的topic是test,kafka的zookeeper root為/kafka
刪除kafka相關的數據目錄
數據目錄請參考目標機器上的kafka配置:server.properties -> log.dirs=/var/kafka/log/tmp
rm -r /var/kafka/log/tmp/test*
刪除kafka topic
./kafka-topics.sh --zookeeper node3:2181,node4:2181,node5:2181 --delete --topic kfk
刪除zookeeper相關的路徑
(1)登錄zookeeper客戶端:命令:./bin/zookeeper-client
(2)找到topic所在的目錄:ls /brokers/topics
(3)找到要刪除的topic,執行命令:rmr /brokers/topics/【topic name】即可,此時topic被徹底刪除。
另外被標記為marked for deletion的topic你可以在zookeeper客戶端中通過命令獲得:ls /admin/delete_topics/【topic name】,如果你刪除了此處的topic,那么marked for deletion 標記消失
完成
重啟zookeeper和kafka可以用下面命令查看相關的topic還在不在:
/home/kafka/bin/kafka-topics.sh --list --zookeeper HadoopMaster:2181/kafka