![](/img/trans.png)
[英]How to copy a topic from a kafka cluster to another kafka cluster?
[英]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.