【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即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章