编程语言
首页 > 编程语言> > java – 从主题读取时写入磁盘的KafkaStreams

java – 从主题读取时写入磁盘的KafkaStreams

作者:互联网

我一直在研究Kafka Streams应用程序上的磁盘写入,我将拓扑结构减少到最低限度,即:

KStream<String, JsonElement> stream = builder.stream("input-topic");

然而,在docker统计数据上,我可以观察到我的应用程序一直在向磁盘写入内容.我检查了容器,我看不到任何可疑的文件句柄.

如果我评论上述行,这个问题就会消失,所以我得出的结论是,从一个主题中读取内容会在磁盘上写一些内容,但我不知道是什么以及为什么.

另外,我注意到它与提交间隔设置严格相关;增加它会使写入频率降低.每次写入大约130kB的数据.

这是预期的行为吗?

解决方法:

Kafka Streams将检查点文件写入本地磁盘.这些检查点文件实际上只用于有状态任务,但即使没有有状态操作也会创建(对于这种情况,检查点文件几乎为空).

这是一个已知问题,并在即将发布的1.1版本中修复:https://issues.apache.org/jira/browse/KAFKA-6499

标签:apache-kafka-streams,java,apache-kafka
来源: https://codeday.me/bug/20190828/1748277.html