コンフルエントなスラックで
通常、開いているファイルの数を変更するには、カーネルパラメータ(fs.file-nr)と/etc/security/limits.confを変更する必要があります。 systemdには、別のステップがあります。 デーモンが新しいulimitパラメーターを取得できるように、*。serviceファイルも変更する必要があります。 この投稿は、適用されるディレクティブを示しています。 配信された
/lib/systemd/system/confluent-\*.service
ファイルにLimitNOFILEを追加すると、/proc/<pid>/limits
は、Javaデーモンが開いているファイルの制限を認識していることを示しました。 配信されたファイルはアップグレードのたびに管理する必要があるため、おそらくドキュメントノートまたは配信されたsystemdファイルへの変更のいずれかが必要です。
https://confluentcommunity.slack.com/archives/C49R61XMM/p1537208485000100
参照-https://unix.stackexchange.com/questions/345595/how-to-set-ulimits-on-service-with-systemd
理想的には、LimitNOFileなどに十分なデフォルトがあり、これに関係する必要はありませんが、systemdサービスのプロパティをオーバーライドする機能を追加することは理にかなっています。 ブローカーなどのすべてのサービスのテンプレートに追加するのに十分簡単である必要があります
プレイブックの_https://github.com/confluentinc/cp-ansible/blob/5.1.x/roles/confluent.kafka-broker/defaults/main.yml#L14_で実行でき、メモリを増減することもできます、 例えば
environment:
KAFKA_HEAP_OPTS: "-Xmx24g"
LimitNOFILE: 102400
ただし、systemdファイルを適切にテンプレート化することはできません。
[Service]
Environment=LimitNOFILE=102400
とは異なります
[Service]
LimitNOFILE=102400
あなたは正しい実装がここにあり、レビューされるまで待っています:
https://github.com/confluentinc/cp-ansible/pull/107
これは素晴らしいことです。この構成の問題に対処する正しい方法を長い間見つけようとしていました
これに対処する新しいリリースがまもなく出荷されるというクイックアップデート。
開いているファイルの数に対応する次のPRをマージしました。