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.

Kartik
quelle

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
sclausen
quelle
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

Kartik
quelle
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
Viktor Kondolovskiy
quelle
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.

Shakus
quelle
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

Luis Lobo Borobia
quelle