kut*_*uti 4 apache-kafka rocksdb apache-kafka-streams
我不确定它是否已经得到了回答。由于我没有得到适当的解释,在这里发布我的问题。
为什么 kafka 流state.dir存储在/tmp/kafka-streams?
我知道我可以通过在流代码中提供状态目录配置来更改路径,如下所示
StreamsConfig.STATE_DIR_CONFIG,"/var/abc-Streams"
但是更改目录会有什么影响吗?
或者
我可以在应用程序目录中而不是在/tmp.
根据融合文档,对于:
Stateful操作:
automatically creates and manages such state stores when you are calling stateful operators such as count() or aggregate(), or when you are windowing a stream
但没有具体说明它的确切存储位置。
有什么想法吗?
为什么 kafka 流 state.dir 存储在 /tmp/kafka-streams 下?
有几个原因。
/tmp目录具有默认的写权限。因此,作为初学者,您不必为写权限而烦恼。/tmp目录是短期目录。在每次系统重新启动时,它都会被清除,因此如果您忘记删除state.dir. 缺点是,您会丢失上次运行的状态,因此您需要从头开始重建状态。如果你想重用存储在 中的状态state.dir,你应该将它存储在除了/tmp.
所有状态存储都存储在 中指定的位置state.dir。如果未指定,则为/tmp/kafka-streams/<app-id>目录。
| 归档时间: |
|
| 查看次数: |
4619 次 |
| 最近记录: |