GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der MongoDB-Dienst startet nach der Ersteinrichtung nicht

Ich habe eine Weile damit verbracht, mich damit zu befassen, und es scheint, als ob die PID-Ordner- und Dateiberechtigungen nicht mit dem Standard-Daemon funktionieren.

Die einfachste Lösung, auf die ich gestoßen bin, besteht darin, die PID-Datei zu deaktivieren, indem Sie einfach ein # vor die Zeile in der Konfigurationsdatei setzen.

vi /etc/mongod.conf

Suchen Sie die Zeile mit der Aufschrift pidfilepath=/var/run/mongodb/mongod.pid und ändern Sie sie entsprechend.

# pidfilepath=/var/run/mongodb/mongod.pid

Informationen darüber, was das Auskommentieren bewirkt, finden Sie hier.http://docs.mongodb.org/manual/reference/configuration-options/#processManagement.pidFilePath


Wenn Sie Mongod als Dienst starten mit:

sudo service mongod start

Stellen Sie sicher, dass die Verzeichnisse, die für logpath, dbpath und pidfilepath in Ihrer mongod.conf definiert sind, existieren und mongod:mongod gehören.


Ich habe das gleiche Problem, ich habe es vorübergehend gelöst, SELinux deaktiviert, die Maschine neu gestartet, mongod.lock entfernt:

#rm /var/lib/mongo/mongod.lock

Durch Erstellen der Datei /var/run/mongodb/mongo.pid (wie in der Konfigurationsdatei /etc/mongod.conf erwähnt):

#mkdir /var/run/mongodb
#touch /var/run/mongodb/mongod.pid

und 777 Berechtigungen geben:

#chmod 777 /var/run/mongodb/mongod.pid 

und Mongo starten:

#service mongod start

Aber das Problem bleibt nach dem Neustart der Maschine bestehen. Der Ordner und die Datei verschwinden.


Was bei Fedora 20 für mich funktioniert hat:Wir müssen das Temp-Verzeichnis bei jedem Start erstellen, und das wird von systemd-tmpfiles gehandhabt. Erstellen Sie also eine Datei /lib/tmpfiles.d/mongodb.conf und fügen Sie eine Zeile darin ein:

d /var/run/mongodb 0755 mongod mongod

Das scheint bei Neustarts zu funktionieren; Wenn Sie nicht sofort neu starten möchten, können Sie dies ausführen mit:

sudo systemd-tmpfiles --create mongodb.conf

(Siehe die Manpages für systemd-tmpfiles)


Linux
  1. Linux – /proc/pid/environ nach Prozessstart ändern?

  2. Centos – Systemd killt Dienst sofort nach Start?

  3. Gimp startet nicht, Gegl-Fehler?

  4. Ubuntu bootet nach der Installation nicht von der Festplatte?

  5. systemctl:Befehl nicht gefunden

Warum stoppt Systemd den Dienst sofort nach dem Start?

Systemd:Sowohl After als auch Requires verwenden

Booten Sie Ubuntu 16.04 in die Befehlszeile / starten Sie die GUI nicht

Mongodb kann nicht als Dienst gestartet werden – Ausnahme; Sammlung hat keine UUID in KVCatalog

Upstart :Startet den Dienst nach einem Nicht-Upstart-Prozess

PHP-FPM startet nach dem Neustart nicht automatisch