Kafka-streamsDSLの最後にカスタムのTransformer
実装があり、永続的な変更ログKeyValueStore
がバインドされています。
数週間以来、私はストアにあまりにも多くのデータを入れてきました。これで、アプリケーションをロードするたびに、RAMが大量に消費されます。
ただし、アプリケーション自体は単なるプロトタイプであるため、ストアを完全にクリアしてもかまいません。
kafka.application.id
とstate-store-name
の名前を変更することもできますが、これは一時的な回避策です(対応するデータ/トピックは削除されません)。
どうすれば完全にパージできますか?
Confluentの ドキュメント推奨 KafkaStreams.cleanUp()を使用するか、/var/lib/kafka-streams/<application.id>
(構成パラメーターstate.dir
)のディレクトリを手動で削除します。
また、 特別なリセットツール --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 状態のリセットについては非常に興味深いです。