Die Installation einer aktuellen Version von MongoDB wurde bereits in den Artikel Installation MongoDB beschrieben. Unter Umständen erscheint nach dem Start des MongoDB-Server und dem Login mit dem Konsolenclient mongo folgende Warnung:
# mongo MongoDB shell version: 3.2.0 connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: 2016-01-03T17:50:33.814+0100 I CONTROL [initandlisten] 2016-01-03T17:50:33.814+0100 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
Diese Warnung weist uns daruf hin, dass wir die entsprechenden Limits noch nicht richtig gesetzt haben.
Centos – MongoDB rlimits anpassen
Um dies zu überprüfen suchen wir uns ersteinmal die ProzessID unseres MongoDB-Servers. Dazu verwenden wir das Kommando ps und suchen nach der Zeichenkette mongod.
#ps aux | grep mongod mongod 3130 0.8 13.2 377616 66356 ? Sl 17:50 0:09 /usr/bin/mongod -f /etc/mongod.conf
Nun können wir die ProzessID ermitteln, in diesem Fall ist dies die ID 3130. Anschliessend können wir uns die Limits zu diesem Prozess anschauen und nach der Zeichenkette „open files“ suchen.
# grep 'open files' /proc/3130/limits Max open files 64000 64000 files
Nun erstellen wir eine gesonderte Konfigurationsdatei für die Limits des MongoDB-Servers welcher unter dem Benutzer mongod läuft.
Dazu erstellen wir die Datei /etc/security/limits.d/99-mongodb-nproc.conf mit folgenden Inhalt.
vi /etc/security/limits.d/99-mongodb-nproc.conf
mongod soft nproc 64000
Dadurch passen wir das soft limit entsprechend an. Nun muss der Mongodb-Server neu gestartet werden, damit diese Änderungen wirksam werden.
service mongod restart Restarting mongod (via systemctl): [ OK ]
Nun sollten die Warnmeldungen verschwunden sein.
Wie immer, verweise ich an dieser Stelle auf die Projektseite von mongoDB für weitere Informationen.