2017-10-11 87 views
0

我有一個自定義Transformer實施在我的kafka流DSL的結尾,並持續更新日誌KeyValueStore綁定到它。Kafka Streams - 刪除/清除狀態存儲

自從幾周以來,我一直在商店中放置太多數據。現在,無論何時加載應用程序,它都會消耗太多內存。

但是,應用程序本身只是一個原型,所以我不介意完全清理商店。

我可以重命名kafka.application.idstate-store-name,但這是一個臨時解決方法(並且相應的數據/主題不會被刪除)。

我該如何清除它?

回答

2

Confluent的documentation recommends要麼使用KafkaStreams.cleanUp(),要麼手動刪除目錄/var/lib/kafka-streams/<application.id>(配置參數state.dir)。

您還需要重新使用的應用程序與使用special reset tool所有主題 - bin/kafka-streams-application-reset

bin/kafka-streams-application-reset --application-id my-streams-app \ 
            --input-topics my-input-topic \ 
            --intermediate-topics rekeyed-topic 

post有關重置狀態是非常有趣的。

+1

SO問題應該是自成體系的。請複製並引用文檔的相應部分(並僅將鏈接用作參考) - 如果內容移動,鏈接可能變得懸而未決,因此您的答案會丟失內容。謝謝。 –