簡體   English   中英

清理集群中的Kafka主題

[英]Clean Kafka topic in a cluster

我知道我可以通過刪除/ data / kafka-logs / topic / *下的日志或通過將tention.ms config設置為1000來清除代理上的Kafka主題。我想知道如何在多節點群集中清潔主題。 我應該停止每個代理上的Kafka進程,刪除日志並啟動Kafka還是僅領導經紀就足夠了? 如果要通過將retension.ms設置為1000進行清理,是否需要在每個代理上進行設置?

要刪除特定主題中的所有消息,可以運行kafka-delete-records.sh

例如,我有一個名為test的主題,該主題具有4個 partitions

創建一個Json文件,例如j.json

{

"partitions": [

    {

        "topic": "test",

        "partition": 0,

        "offset": -1

    }, {

        "topic": "test",

        "partition": 1,

        "offset": -1

    }, {

        "topic": "test",

        "partition": 2,

        "offset": -1

    }, {

        "topic": "test",

        "partition": 3,

        "offset": -1

    }

],

"version": 1

}

現在通過此命令刪除所有消息:

/opt/kafka/confluent-4.1.1/bin/kafdelete-records --bootstrap-server 192.168.XX.XX:9092 --offset-json-file j.json

執行命令后,將顯示此消息

Records delete operation completed:
partition: test-0   low_watermark: 7
partition: test-1   low_watermark: 7
partition: test-2   low_watermark: 7
partition: test-3   low_watermark: 7

如果要刪除一個主題,可以使用kafka-topics

例如,我要刪除test主題:

 /opt/kafka/confluent-4.0.0/bin/kafka-topics --zookeeper 109.XXX.XX.XX:2181  --delete --topic test

您不需要重新啟動Kafka

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM