kafka 流 - 默认状态存储在哪里

问题描述 投票:0回答:1

几乎所有的kafka流文档都说它使用RocksDB作为状态存储。我创建了一个简单的流生成器,下面的示例效果很好。 我唯一的困惑是 - 我没有指定任何状态存储。它是如何工作的? .如果kafka在内部创建了某个地方,它在哪里?

builder.stream("my-topic-1")
        .groupByKey(Grouped.with(Serdes.String(), Serdes.String()))
        .count(Materialized.with(Serdes.String(), Serdes.Long()))
        .toStream()
        .to("my-topic-2");

注意:我可以在kafka中看到“changelog”主题。但我想查看文件系统中的默认 RocksDB 位置。

apache-kafka apache-kafka-streams
1个回答
0
投票

RocksDB 只是持久存储的默认设置。还有 InMemoryStateStore

从 Kafka 2.7 开始,持久存储的默认文件系统位置是

/tmp/kafka-streams
,但您可以覆盖
state.dir

https://kafka.apache.org/35/documentation/streams/developer-guide/config-streams.html

© www.soinside.com 2019 - 2024. All rights reserved.