Apache kafka 一个kafka broker中的打开文件过多错误,即使限制设置为“无限”。数据太多了吗?

Apache kafka 一个kafka broker中的打开文件过多错误,即使限制设置为“无限”。数据太多了吗?,apache-kafka,Apache Kafka,我们有一个由5个经纪人组成的卡夫卡集群(r5.xlarge)。昨天,我们使用Debezium启动了生产数据库快照,它基本上在Kafka主题中转储了整个数据库。 我可以看到,在我们的任何代理中,CPU利用率从未超过30%。此外,网络字节数在峰值时约为350 Mbps 现在午夜的某个时候,我们的一个代理失败了,因为有太多的开放文件异常,尽管我已经在所有代理中将ulimit设置为unlimited。我不明白这个设置的瓶颈是什么。是经纪人的数量吗?还是磁盘吞吐量?还是网络 我有一些想法: 增加经纪人的数

我们有一个由5个经纪人组成的卡夫卡集群(r5.xlarge)。昨天,我们使用Debezium启动了生产数据库快照,它基本上在Kafka主题中转储了整个数据库。 我可以看到,在我们的任何代理中,CPU利用率从未超过30%。此外,网络字节数在峰值时约为350 Mbps

现在午夜的某个时候,我们的一个代理失败了,因为有太多的开放文件异常,尽管我已经在所有代理中将ulimit设置为unlimited。我不明白这个设置的瓶颈是什么。是经纪人的数量吗?还是磁盘吞吐量?还是网络

我有一些想法:

  • 增加经纪人的数量
  • 在多个磁盘中使用多个数据目录?这会提高磁盘吞吐量吗
  • 使用主题压缩

  • 请帮忙

    结果是/etc/security/limits.conf中设置的最大打开文件限制不适用于我正在运行的Kafka服务
    检查我们可以执行的任何流程的限制

  • 使用
    ps ax | grep kafka.kafka
  • cat/proc/{process_id}}/limits | grep“最大打开文件数”
  • 对于我的卡夫卡进程,它被设置为默认值4096

    为了增加这个限制,我增加了一行
    ulimit-n 1000000
    在服务文件中启动卡夫卡进程之前,一切正常

    结果是/etc/security/limits.conf中设置的最大打开文件限制不适用于我正在运行的Kafka服务
    检查我们可以执行的任何流程的限制

  • 使用
    ps ax | grep kafka.kafka
  • cat/proc/{process_id}}/limits | grep“最大打开文件数”
  • 对于我的卡夫卡进程,它被设置为默认值4096

    为了增加这个限制,我增加了一行
    ulimit-n 1000000
    在服务文件中启动卡夫卡进程之前,一切正常