1. 程式人生 > >徹底刪除kafka的topic方法

徹底刪除kafka的topic方法

1、刪除kafka儲存目錄(server.properties檔案log.dirs配置,預設為"/tmp/kafka-logs")相關topic目錄
2、Kafka 刪除topic的命令是:
kafka/bin/kafka-topics.sh --delete --zookeeper Zookeeper地址 --topic 主題名稱

如果kafaka啟動時載入的配置檔案中server.properties沒有配置"delete.topic.enable=true",那麼此時的刪除並不是真正的刪除,而是把topic標記為刪除:marked for deletion


你可以通過命令如下來檢視所有topic:
kafka/bin/kafka-topics.sh --list --zookeeper Zookeeper地址 



此時你若想真正刪除它,可以如下操作:
(1)登入zookeeper客戶端的命令:
zookeeper/bin/zkCli.sh 

(2)找到topic所在的目錄:
ls /brokers/topics

(3)找到要刪除的topic,執行如下命令即可,此時topic被徹底刪除:
rmr /brokers/topics/topic名稱


另外被標記為marked for deletion的topic你可以在zookeeper客戶端中通過命令獲得:ls /admin/delete_topics/topic名稱,如果你刪除了此處的topic,那麼marked for deletion 標記消失
zookeeper的config中也有有關topic的資訊, 暫時不知道有什麼用:

ls /config/topics/topic名稱


總結:
徹底刪除topic:
 1、刪除kafka儲存目錄(server.properties檔案log.dirs配置,預設為"/tmp/kafka-logs")相關topic目錄

 2、如果配置了delete.topic.enable=true直接通過命令刪除,如果命令刪除不掉,直接通過zookeeper客戶端刪除掉broker下的topic即可。