【问题标题】:Too many open files error in one of kafka broker even when the limits are set to unlimited. Is the data too much?即使限制设置为无限制,kafka 代理之一中的打开文件过多也会出错。数据是不是太多了?
【发布时间】:2020-06-24 12:57:20
【问题描述】:

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

现在在午夜的某个时候,我们的一个代理由于打开文件异常过多而失败,即使我在所有代理中都将 ulimit 设置为无限制。我不明白这个设置中的瓶颈是什么。是经纪人的数量吗?还是磁盘吞吐量?还是网络?

我有几个想法:

  1. 增加代理数量。
  2. 在多个磁盘中使用多个数据目录?这会提高磁盘吞吐量吗?
  3. 使用主题压缩。

请帮忙。

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    事实证明,/etc/security/limits.conf 中设置的最大打开文件限制不适用于我正在运行的 Kafka 服务。 Why so?
    要检查我们可以执行的任何流程的限制设置

    1. 使用ps ax | grep kafka.Kafka查找进程的进程id
    2. cat /proc/{{process_id}}/limits | grep "最大打开文件数"

    对于我的 Kafka 进程,它被设置为默认值 4096。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 2013-10-05
      • 2012-10-08
      相关资源
      最近更新 更多