当前位置: 首页 > 知识库问答 >
问题:

Kafka溪流——淹没Kafka原木

巢靖
2023-03-14

我正在使用Kafka Streams,我注意到它使我的kafka日志记录了很多日志消息,例如:

[2019-04-17 09:06:16,541] INFO [Log partition=my-application-KSTREAM-AGGREGATE-STATE-STORE-0000000076-repartition-0, dir=/opt/kafka/data/logs] Incrementing log start offset to 316423 (kafka.log.Log) [2019-04-17 09:06:16,545] INFO [Log partition=my-application-KSTREAM-AGGREGATE-STATE-STORE-0000000033-repartition-2, dir=/opt/kafka/data/logs] Incrementing log start offset to 3394 (kafka.log.Log) 
[2019-04-17 09:06:16,546] INFO [Log partition=my-application-KSTREAM-AGGREGATE-STATE-STORE-0000000012-repartition-1, dir=/opt/kafka/data/logs] Incrementing log start offset to 3102 (kafka.log.Log) 
[2019-04-17 09:06:16,549] INFO [Log partition=my-application-KSTREAM-AGGREGATE-STATE-STORE-0000000067-repartition-3, dir=/opt/kafka/data/logs] Incrementing log start offset to 4168 (kafka.log.Log) 
[2019-04-17 09:06:16,551] INFO [Log partition=my-application-KSTREAM-AGGREGATE-STATE-STORE-0000000086-repartition-3, dir=/opt/kafka/data/logs] Incrementing log start offset to 329670 (kafka.log.Log)

这真的很令人不安,因为我发现它会淹没日志,所以我看不到任何其他内容(也会消耗资源)。

为什么它发生在(一些)Kafka Streams内部主题上,而不是其他主题上?

我怎样才能禁用它?

共有1个答案

华阳秋
2023-03-14

Kafka Streams在处理数据后积极清除重新分区主题,以释放Kafka集群中的存储空间(参见。https://issues.apache.org/jira/browse/KAFKA-6150).无法禁用此功能。

作为一种解决方法,您可以重新配置重新分区主题配置参数段。字节和段。ms并将其设置为更高的值。请注意,这会降低数据清除的效率,从而导致Kafka集群中的磁盘使用率增加。

 类似资料:
  • 在Spring Boot应用程序中,我试图配置Kafka流。用简单的Kafka主题,一切都很好,但我无法得到工作SpringKafka流。 这是我的配置: 我想创建一个基于主题的流。应用一个简单的转换并将此流中的消息发送到test主题。 我向发送以下消息,其中是我自己的复杂类型,但是我现在不知道如何将它转换为中的,以便能够在中使用它。 请建议如何使其工作。

  • 我写了一个kafka流代码,使用kafka 2.4 kafka客户端版本和kafka 2.2服务器版本。我的主题有50个分区 我的Kafka流代码有选择键()DSL操作,我有200万条记录使用相同的KEY。在流配置中,我已经完成了 因此,我能够使用完全相同的键使用不同的分区。如果我没有按预期使用轮循机制,我的所有消息都会转到同一分区。 直到现在一切都很好,但我意识到;当我使用RoundRobin分

  • 我对流媒体有一个普遍的问题,但对于问题的范围,让我们限制自己使用Kafka Streams。让我们进一步缩小范围,将我们的问题局限于单词计数,或者可能是一般的计数。假设我有一个由某个键和一个值组成的流,键可以是一个字符串(假设我们可以有很多字符串,除了空字符串,由世界上的任何字符组成),值是一个整数,现在我们正在构建一个单词计数应用程序,如果词汇表中的单词总数是一万亿,我们不能将它们存储在本地缓存

  • 我是新的Kafka流,我正在使用它使一个主题的确切拷贝到另一个不同的名称。本主题有几个分区,我的制作者正在使用自定义分区。输出主题是用输入主题相同数量的分区预先创建的。 在我的应用程序中,我做了(我正在使用Kotlin): 除了分区(当然,我使用的是自定义分区器)之外,这是可行的。有没有一种简单的方法可以使用输入记录的相同分区将输入记录复制到输出主题? 显然,我可以在接收器中使用自定义分区器,但这

  • 我有一个关于kafka流应用程序中的控制流的基本问题。如果有两个源主题 我做了一个非常初步的测试,当记录被消费时,我偷看了一下,然后用一个简单的速溶软件打印了它们被处理的瞬间。现在 这些是主题中记录的开始和结束时间戳 主题B记录在主题A之前提取。Sysout显示主题B中的所有记录。有人能帮助理解这一点吗?我希望在编写具有多个输入源的流式应用程序时使用这种理解。 提前感谢