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

Kafka流应用程序在Kafka服务器上打开太多文件

董意蕴
2023-03-14

我一直在开发一个基于Java kafka-streams API的应用程序,其目标是处理来自一个kafka主题的数据流,并将其生成到另一个主题中。

看起来,每当我开始使用kafka-streams应用程序生成消息时,我正在使用的kafka代理上的文件句柄就会一直打开,而且从来没有关闭过,这意味着最终kafka服务器会出现太多打开的文件,kafka和zookeeper守护进程崩溃。

我使用kafka-streams-1.0.1API jar进行Java,并在JDK11上运行。kafka集群是kafka版本1.0.0的。

我的应用程序的配置包括以下kafka producer配置:

  • batch.size:设置为100,000封邮件。
  • linger.ms:设置为1,000毫秒。
  • buffer.memory:设置为相当于5兆字节的字节。

流处理本身非常简单,由以下组成:

stream.map((k,v) -> handle(k,v)).filter((k,v) -> v != null).to(outgoingTopic);

如果你们有什么建议我会很感激的。

共有1个答案

戈睿识
2023-03-14

使用Java 8或Java 10或更低版本,使用最新的卡夫卡,https://Kafka.apache.org/quickstart

请参阅此处有关bug filed https://issues.apache.org/jira/browse/kafka-6855的一些报告

 类似资料:
  • 其中一个Kafka流应用程序在Kafka代理和消费者端产生了大量未知生产者ID错误。 流配置如下: 消费者方面的错误: 这背后的原因是什么?

  • null null 谢谢你的回答。

  • 我使用的是一个Java应用程序,它让消费者开始阅读Kafka主题。每次我需要启动消费者应用程序时,我都必须使用cmd中的命令启动Zookeeper和Kafka服务器。是否可以用小型Java程序启动/停止它们?非常感谢。

  • 我有一个独立的Kafka经纪人,我试图配置SASL。配置如下。我试图在经纪人身上设置SASL_PLAIN身份验证。 我的理解是,这与听众有关。名称服务器中的配置。属性,我不需要jaas文件。但我已经尝试过一种方法,看看这是否是一种更好的方法。 我对这些命令中的每一个都进行了实验,但都产生了相同的异常。 显示的异常为: KafkaServer启动期间出现致命错误。准备关机。。。找不到“KafkaSe

  • 我有一个错误:PHP无法打开流:打开的文件太多。 我在这里查看了stackoverflow的各种答案,但我无法解决这个问题。我主要尝试增加最大打开文件数的限制: 我已编辑/等/安全/限制。conf,其中我指定了: 保存并注销/重新启动该框后,命令: 仍打印出1024个。我不知道为什么这没有效果,我想这就是我得到php错误的原因。如果需要,我可以粘贴整个文件或任何其他配置文件。我使用的是PHP 5.

  • 我有一个带有的Spring Boot应用程序,我正在从中配置和其他必需的应用程序。 我的应用程序中有制作人和消费者()。我从(不是从文件)获得了和JPA存储库配置。 我正在为生产者和消费者编写一个junit测试,但我想使用应用程序定义的(在中定义)。 所以在我的我有目标,首先启动应用程序,然后运行测试收集报告,最后停止应用程序。 有人能帮我用应用程序定义的Kafka为Kafka制作人和消费者编写J