[英]Why kafka streams state dir is in /tmp/kafka-streams?
我不确定是否已经回答。 由于我没有得到适当的解释,请在此处发布我的问题。
为什么kafka流state.dir
存储在/tmp/kafka-streams
?
我知道我可以通过在流代码中提供state dir config来更改路径,如下所示
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>
目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.