徹底刪除Kafka中的topic

2021-08-15 12:49:11 字數 2391 閱讀 2909

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

2、kafka 刪除topic的命令是:

./bin/kafka-topics  --delete --zookeeper 【zookeeper server】  --topic 【topic name】

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

你可以通過命令:./bin/kafka-topics --zookeeper 【zookeeper server】 --list 來檢視所有topic

此時你若想真正刪除它,可以登入zookeeper客戶端:

命令:./bin/zookeeper-client

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

找到要刪除的topic,執行命令:rmr /brokers/topics/【topic name】即可,此時topic被徹底刪除。

另外被標記為marked for deletion的topic你可以在zookeeper客戶端中通過命令獲得:ls /admin/delete_topics/【topic name】,如果你刪除了此處的topic,那麼marked for deletion 標記消失

zookeeper 的config中也有有關topic的資訊: ls /config/topics/【topic name】暫時不知道有什麼用

3、建立zk節點資訊(解決leader:none問題)

首先執行命令:bin/kafka-topics.sh --zookeeper zkhost:port --describe --topic topic_name,會發現這時leader為none,isr為空。但replicas的資料都還在,若replicas也沒有資料,那麼下面的方法就不適合你了[哈哈哈哈哈哈...]。

然後在zookeeper的client裡面執行下面的**即可:

create /kafka/brokers/topics/$topic_name/partitions null

create /kafka/brokers/topics/$topic_name/partitions/0 null

create /kafka/brokers/topics/$topic_name/partitions/1 null

...create /kafka/brokers/topics/$topic_name/partitions/0/state

create /kafka/brokers/topics/$topic_name/partitions/1/state

...其中$topic_name替換為需要修復的topic name;controller_epoch可以通過在zkcli.sh裡面執行get /kafka/controller_epoch命令得到;version預設1即可;leader_epoch預設0即可;isr的值和前面命令中得到的replicas值一致即可;然後最重要的leader的值等於replicas陣列的第1個值即可。

kafka 刪除topic的命令是:

./bin/kafka-topics  --delete --zookeeper 【zookeeper server】  --topic 【topic name】

./bin/kafka-topics.sh --delete --zookeeper 10.40.6.173:2181,10.40.6.174:2181,10.40.6.203:2181 --topic pdm

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

你可以通過命令:./bin/kafka-topics --zookeeper 【zookeeper server】 --list 來檢視所有topic

./bin/kafka-topics.sh --zookeeper 10.40.6.173:2181,10.40.6.174:2181,10.40.6.203:2181 --list

此時你若想真正刪除它,可以登入zookeeper客戶端:

命令:./bin/zookeeper-client

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

找到要刪除的topic,執行命令:rmr /brokers/topics/【topic name】即可,此時topic被徹底刪除。

--檢視topic詳情

./kafka-topics.sh --topic rosegal --describe --zookeeper 10.40.6.170:2182

kafka中徹底刪除topics

第一步 確保 zookeeper,kafka已經啟動 kafka topics.sh zookeeper localhost 2181 delete topic topics名稱 第二步,刪除相關檔案 進入zookeeper客戶端 zk home bin zkcli.sh 輸入命名檢視是否存在你要刪...

徹底刪除Kafka中的topic

1 刪除kafka儲存目錄 server.properties檔案log.dirs配置,預設為 tmp kafka logs 相關topic目錄 2 kafka 刪除topic的命令是 bin kafka topics delete zookeeper zookeeper server topic ...

徹底刪除Kafka中的topic

徹底刪除kafka中的topic 1 刪除kafka儲存目錄 server.properties檔案log.dirs配置,預設為 tmp kafka logs 相關topic目錄 2 kafka 刪除topic的命令是 bin kafka topics delete zookeeper zookee...