【问题标题】:How to remove/clear state stores in Kafka Streams?如何删除/清除 Kafka Streams 中的状态存储?
【发布时间】:2017-10-11 07:05:04
【问题描述】:

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

几周以来,我在商店中存储了太多数据。现在,每当我加载应用程序时,它都会占用太多 RAM。

但是,应用程序本身只是一个原型,所以我不介意彻底清除商店。

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

如何彻底清除它?

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

    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很有意思。

    【讨论】:

    • SO 问题应该是自包含的。请复制并引用文档的相应部分(并仅使用链接作为参考)——如果内容移动,链接可能会变得悬空,因此您的答案会丢失它的内容。谢谢。
    • 这正是链接现在导航到另一个地方发生的事情@MatthiasJ.Sax
    • @curiosityrock 在评论之后答案应该是自包含的......
    • 哦,我指的是 KafkaStreams.cleanUp(),链接没有提供任何相关信息。这是我可以调用的函数吗?
    猜你喜欢
    • 2021-01-04
    • 1970-01-01
    • 2018-11-10
    • 2020-08-29
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    相关资源
    最近更新 更多