簡體   English   中英

即使將限制設置為無限制,kafka 代理之一也會出現打開文件過多錯誤。 數據太多了嗎?

[英]Too many open files error in one of kafka broker even when the limits are set to unlimited. Is the data too much?

我們有一個由 5 個代理 (r5.xlarge) 組成的 Kafka 集群。 昨天我們使用 Debezium 啟動了我們的生產數據庫快照,它基本上將整個數據庫轉儲到 Kafka 主題中。 我可以看到,在我們的任何代理中,CPU 利用率從未超過 30%。 此外,Network In bytes 在其峰值時約為 350 Mbps。

現在在午夜的某個時候,我們的一個經紀人因為太多打開的文件異常而失敗,即使我已經在我們所有的經紀人中將 ulimit 設置為無限制。 我不明白是什么成為這個設置的瓶頸。 是經紀人的數量嗎? 或磁盤吞吐量? 或網絡?

我有幾個想法:

  1. 增加經紀人的數量。
  2. 在多個磁盤中使用多個數據目錄? 這會提高磁盤吞吐量嗎?
  3. 使用主題壓縮。

請幫忙。

事實證明,在 /etc/security/limits.conf 中設置的最大打開文件限制不適用於我正在運行的 Kafka 服務。 為什么這樣?
檢查我們可以做的任何過程的限制設置

  1. 使用ps ax | grep kafka.Kafka查找進程的進程 ID ps ax | grep kafka.Kafka
  2. cat /proc/{{process_id}}/limits | grep "最大打開文件數"

對於我的 Kafka 進程,它被設置為默認值 4096。

為了增加這個限制,我在服務文件中啟動 kafka 進程之前添加了一行ulimit -n 1000000並且一切正常!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM