1. 程式人生 > >kafka 10.版本 以上 如何刪除 kafka broker 中的topic

kafka 10.版本 以上 如何刪除 kafka broker 中的topic

1、Kafka 刪除topic的命令是:

 ./bin/windows/kafka-topics.bat  --delete --zookeeper IP:Port --topic topic name

 此時的刪除並不是真正的刪除,而是把topic標記為:marked for deletion,可以嘗試把kafaka配置檔案中server.properties最下面新增delete.topic.enable=true(我試了很多次感覺也刪不乾淨)

 通過命令:./bin/windows/kafka-topics.bat --list --zookeeper IP:Port  來檢視所有topic



 上述方式不能刪完,並且刪除之後,可能出現無法開啟Kafka的情況,因為在zookeeper的broker裡面仍然存在未刪除的topic,此時可以如下操作:

 (1)在zookeeper目錄下 cmd 登入zookeeper客戶端:命令:./bin/zkcli.cmd

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

 (3)找到要刪除的topic,執行命令:rmr /brokers/topics/topic name ,此時topic被徹底刪除。

然後分別刪除,Kafka的topic(server.properties下 dataDir對應的路徑)的存放目錄,以及zookeeper(修改之後的檔案zoo.cfg下dataDir對應的路徑)的存放目錄。