Ich habe MongoDB 2.6 unter Ubuntu 15.04 installiert:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Es endete ohne Probleme. Als ich jedoch versuchte, es zu starten, bekam ich den folgenden Fehler:
$ sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Wie kann ich das beheben?
/var/log/syslog
,/etc/init/mongodb.conf
Kann es auch hilfreich sein , den fehlgeschlagenen Versuch zu überprüfen und dann zu bearbeiten , wenn Sie ein nicht standardmäßiges Datenverzeichnis, Protokollverzeichnis oder eine Benutzerinstanz verwenden.Das MongoDB-Team sagt, dass es Ubuntu 15.04 nicht unterstützt und plant, stattdessen 16.04 zu unterstützen (siehe https://jira.mongodb.org/browse/SERVER-17742 ).
Ubuntu 15.04 erweitert das Standard-Init-System von Upstart auf systemd. Ich hatte keinen Erfolg, MongoDB 3.0 mit systemd zu starten.
Sie können zu Upstart zurückkehren, indem Sie Folgendes installieren
upstart-sysv
:Starten Sie dann neu und MongoDB sollte gestartet sein.
Ich hoffe, eine einfache Möglichkeit zu finden, MongoDB unter Ubuntu 15.04 auszuführen, ohne die Zeit zurückzuschalten.
quelle
Sie installieren von den Paketen, die direkt von mongodb.org veröffentlicht wurden. Sie sollten von den Paketen installieren, die im Ubuntu-Respository enthalten sind. Die Debian / Ubuntu-Pakete wurden mit systemd-Serviceeinheiten gepatcht, um die Lücke zu füllen, die mongodb.org hinterlassen hat.
(Es gibt keinen Mangel an
mongodb.service
Unit-Dateien im WWW. Es ist auch nicht schwer, eine zu schreiben. Ich habe.)Im Einzelnen: Eine solche Service-Unit finden Sie im Paket mongodb-server Version 2.6 für Ubuntu Version 15 . Also einfach das Paket installieren.
(Beachten Sie, dass die von Debian / Ubuntu gelieferten Service-Units nicht die von Mongo empfohlenen Richtlinien für System- und Service-Units anwenden .)
Weitere Lektüre
quelle
Ich habe ein Systemd-Skript erstellt, das für Ubuntu 15.04+ und Mongo 3.0+ zu funktionieren scheint:
https://gist.github.com/benileo/ada486d73f58dd93a0ee
Stellen Sie sicher, dass Sie Ihr Datenverzeichnis in festlegen
/etc/mongod.conf
quelle
Ist das nicht die beste Antwort? Aus einer doppelten Frage: https://askubuntu.com/a/694226/255468 von @sclausen
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.service mit folgendem Inhalt:
quelle
https://jira.mongodb.org/browse/SERVER-17742
Es scheint, dass dies für> 2.6.3 bis Ubuntu 16.04 möglicherweise nicht vollständig behoben ist, es sei denn, es gibt einen starken Aufschrei.
Die Lösung für mich war also:
quelle
benutze "mongodb" anstelle von "mongod"
dh
quelle
Viele dieser Antworten beziehen sich auf Mongo 3.0, während die Frage speziell zu 2.6 gestellt wurde.
Ich hatte Erfolg bei der Installation von 2.6 mit dem Debian-Repository von 10gen. Dies scheint perfekt mit Ubuntu 15.04 zu funktionieren.
Quelle: Wie installiere ich MongoDB 2.6 auf Ubuntu 14.10, 14.04 und 12.04 LTS?
quelle
Während die Frage für Version 2.6 ist. Ich habe
Unit mongod.service failed to load
in meinem Ubuntu 15.04 für Version 3.0.6 genau den gleichen Fehler erhalten. Letztendlich gelöst mit dem gleichen Wheezy-Repository, das oben von Dielson Sales erwähnt wurde.Nach der Installation (gemäß den Anweisungen von @Dielson Sales) trat der oben genannte Fehler auf. Hier ist, wie ich es endlich gelöst habe.
A) Ändern Sie die Standarddatenspeicherdateien von MongoDB von / var / lib / mongodb in / data / db
Erstellen Sie zuerst das neue Verzeichnis / data / db
sudo mkdir -p /data/db
Öffnen Sie die Datei mongod.conf
sudo gedit /etc/mongod.conf
und ändern Sie die Zeile "dbpath" wie folgtErsetzen Sie dbpath = / var / lib / mongodb TO dbpath = / data / db und speichern Sie die Datei.
Löschen Sie dann das alte Standardverzeichnis / var / lib / mongodb
Jetzt müssen wir alle Verzeichnisse / Dateien erstellen, die mongod user gehören
B) Also lauf
sudo chown -R mongodb:mongodb /data/db
Und jetzt kann ich endlich mit Mongo anfangen
sudo service mongod start
Und chcek, mit dem der Dienst ausgeführt wird
sudo systemctl status mongod
- Es sollte eine Meldung ähnlich der folgenden anzeigenLoaded: loaded (/etc/init.d/mongod)
Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago
Habe meine Schritte in meinem Blogbeitrag detailliert beschrieben
quelle
Laden Sie zuerst mongodb herunter:
Auszug herunterladen:
Führen Sie den Mongod (mongodb-linux-x86_64-3.0.6.tgz / bin / mongod) mit dem Attribut -dbpath aus:
Es kann ein leeres Verzeichnis Ihrer Wahl sein
und schließlich mongo ausführen (mongodb-linux-x86_64-3.0.6.tgz / bin / mongo)
arbeitete an meinem Ubuntu 15 :)
Entschuldigung für mein schlechtes Englisch, ich lebe in Brasilien
quelle
Nach stundenlanger Suche bestand die Lösung darin, mein Ubuntu mit dem folgenden Befehl von 15.04 auf 16.04 zu aktualisieren:
Schritt 1
Es wird ein paar Minuten dauern, also keine Panik, dann musst du mongodb entfernen:
Schritt 2
Und jetzt installiere mongodb aber benutze diese Quelle:
Schritt 3
Und das ist es.
Hinweis: Wenn Sie eine Fehlermeldung wie "E" erhalten, geben Sie "deb" in die erste Zeile ein. . . in der Datei mongodb-org-3.0.list
Alles, was Sie tun müssen, ist, mit gedit in diese Datei zu gelangen und das 'am Anfang und am Ende des Satzes zu löschen.
quelle
Ubuntu 15.04+ verwendet systemd anstelle von upstart . Beginnen Sie mit der offiziellen Installationsanleitung von MongoDB . Dann nutzen Sie deren offiziellen
mongod.service
:Downloaden, patchen, installieren Sie den Service und richten Sie die dir + -Berechtigungen ein
Dienst starten
Überprüfen Sie den Servicestatus
quelle
Sie haben einen Tippfehler in Ihrem Befehl gemacht.
Versuchen Sie stattdessen Folgendes:
sudo service mongodb start
quelle