MongoDB 3.0.2 startet nach dem Upgrade auf Ubuntu 15.10 nicht mehr


14

Ich habe kürzlich ein Upgrade auf Ubuntu 15.10 durchgeführt, wonach MongoDB 3.0.2 nicht mehr startet.

$ sudo service mongod start

was würde einen Fehler auslösen:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Antworten:


21

Es ist nur das Fehlen einer Servicedatei für systemd. Sie müssen nicht wie bei Kartik zum Neustart zurückkehren oder ein anderes Repository als das unter https://docs.mongodb.org/manual/installation/ beschriebene verwenden .

Erstellen Sie eine Datei /lib/systemd/system/mongodb.servicemit folgendem Inhalt:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target

Siehe auch den Hinweis in askubuntu.com/a/617869/43344 .
JdeBP

Ich möchte hinzufügen, dass Sie den Dateibesitz des Datenverzeichnisses, der tmp fs-Sperre und der Protokolldatei im Auge behalten müssen. Ich habe sudo service...
rumgespielt

4
Aus irgendeinem Grund wird die Standard-Konfigurationsdatei aufgerufen /etc/mongod.confund nicht/etc/mongodb.conf
Mightyuhu

1
@mightyuhu ist richtig, ohne den richtigen Pfad definiert bekomme ich einen Fehler. Mit dem richtigen Pfad bekomme ich keinen Fehler.
user1063287

2
Vielen Dank! Das ist die richtige Antwort. Eine kleine Sache: Der Dienstname sollte lauten, mongodda er auf der offiziellen Website verwendet wird. So mongodb.confsollte sein mongod.conf und der Dateiname sollte sein/lib/systemd/system/mongod.service
Caisah

12

Dieser Fehler trat aufgrund des Problems mit dem neuen Ubuntu (15 und höher) auf.

Das Standardinitialisierungssystem ist systemd, das zuvor Upstart war . Sie müssen also Upstart installieren, Ihr System neu starten und jetzt können Sie den mongodb-Dienst ausführen.

  • Installieren Sie Upstart

sudo apt-get install upstart-sysv

  • Starten Sie Ihr System neu

sudo service mongod start

mongod start/running, process 3371


1
Der Servicename ist jetztmongodb
sowrov

@sowrov, nein, der neueste Servicename ist immer noch 'mongod'
Clay Ferguson

1
nach der installation von upstart-sysv und dem neustart meines ubuntu 16.04 ging es leer; Ich musste mich erholen und es entfernen. Dieser Thread könnte hilfreich sein, wenn Sie weiterhin " upstart" verwenden
möchten.

5

Ich habe das Debian-Paket in Ubuntu 15.10 verwendet

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

1

Ich hatte nach dem Upgrade auf 15.10 ähnliche Probleme.

Es kann viele Probleme geben, aber je nachdem, was Ihr Problem verursacht hat, können Sie Ihren Mongodb möglicherweise über init.d zum Laufen bringen:

sudo /etc/init.d/mongodb start

Das hat bei mir funktioniert, ist aber keine langfristige Lösung, da Sie dies nach jedem Neustart ausführen oder zu Ihren Startaufgaben hinzufügen müssen. Also habe ich folgendes beachtet:

1) Erstellen der Servicedatei wie von 'sclausen' erklärt.

2) Laden Sie den Dienst neu, indem Sie Folgendes ausführen:

sudo systemctl daemon-reload

3) lief sudo service mongodb start

4) Der Befehl wurde ohne Ausgabe ausgeführt. Also habe ich getestet mongound einen Socket-Fehler bekommen:

Error: connect ECONNREFUSED 127.0.0.1:27017 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)

5) Durchsuchte die Protokolle tail -n 50 /var/log/mongodb/ und fand den zugrunde liegenden Fehler heraus:

2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted

6) löschte die problematische Socket-Datei: sudo rm /tmp/mongodb-27017.sock wie in diesem Thread vorgeschlagen: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0

7) den Dienst erneut ausgeführt: sudo service mongodb start

Zu diesem Zeitpunkt war alles in Ordnung und Bob kehrte zu seiner rechtmäßigen Position als mein Onkel zurück.


0

In meinem Fall habe ich Ubuntu 16.04.1, MongoDB 3.2.11 installiert und den gleichen Fehler erhalten. Nach mehreren Bereinigungs- und Wiederholungsversuchen funktionierte es schließlich, den Dienst zu "aktivieren":

systemctl enable mongod.service

Dann hat es einfach geklappt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.