Dalam Kelonggaran Konfluen
Biasanya, untuk mengubah jumlah file yang terbuka, Anda harus memodifikasi parameter kernel Anda (fs.file-nr) dan juga /etc/security/limits.conf Anda. Dengan systemd, ada langkah lain. Anda harus memodifikasi file *.service juga agar daemon dapat mengambil params ulimit yang baru. Posting ini menunjukkan arahan yang berlaku. Setelah saya menambahkan LimitNOFILE ke file
/lib/systemd/system/confluent-\*.service
yang dikirimkan, maka/proc/<pid>/limits
menunjukkan daemon Java yang mengenali batas file yang terbuka. Mungkin harus ada catatan dokumentasi atau perubahan pada file systemd yang dikirimkan karena file yang dikirimkan itu sekarang perlu dikelola pada setiap pemutakhiran
https://confluentcommunity.slack.com/archives/C49R61XMM/p1537208485000100
Rujuk - https://unix.stackexchange.com/questions/345595/how-to-set-ulimits-on-service-with-systemd
Idealnya kami memiliki default yang cukup baik untuk LimitNOFile dan semacamnya untuk tidak perlu khawatir dengan ini tetapi menambahkan kemampuan untuk menimpa properti di layanan systemd masuk akal. Seharusnya cukup mudah untuk ditambahkan ke template untuk semua layanan misalnya untuk broker
Itu bisa dilakukan di playbook di _ https://github.com/confluentinc/cp-ansible/blob/5.1.x/roles/confluent.kafka-broker/defaults/main.yml#L14_ , juga menambah atau mengurangi memori , Misalnya
environment:
KAFKA_HEAP_OPTS: "-Xmx24g"
LimitNOFILE: 102400
Itu tidak akan membuat template file systemd dengan tepat.
[Service]
Environment=LimitNOFILE=102400
Berbeda dengan
[Service]
LimitNOFILE=102400
Anda benar, implementasi yang benar ada di sini, menunggu untuk ditinjau:
https://github.com/confluentinc/cp-ansible/pull/107
Ini bagus, sudah terlalu lama mencoba menemukan cara yang tepat untuk mengatasi masalah konfigurasi ini
Pembaruan cepat bahwa kami memiliki pengiriman rilis baru segera yang akan mengatasi ini.
Kami baru saja menggabungkan PR berikut yang membahas jumlah file yang terbuka: