Kafka Streams - 删除/清除状态存储

时间:2017-10-11 07:05:05

标签: apache-kafka apache-kafka-streams rocksdb

我在kafka-streams DSL的末尾有一个自定义Transformer实现,并且绑定了持久的更改日志KeyValueStore

几个星期以来,我一直在店里放太多数据。现在每当我加载应用程序时,它就会占用太多内存。

然而,应用程序本身只是一个原型,所以我不介意完全清理商店。

我可以重命名kafka.application.idstate-store-name,但这是一个临时解决方法(相应的数据/主题不会被删除)。

如何完全清除它?

1 个答案:

答案 0 :(得分:7)

Confluent&#39; 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非常有趣。