Antworten:
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:
[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
sudo service...
/etc/mongod.conf
und nicht/etc/mongodb.conf
mongod
da er auf der offiziellen Website verwendet wird. So mongodb.conf
sollte sein mongod.conf
und der Dateiname sollte sein/lib/systemd/system/mongod.service
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.
sudo apt-get install upstart-sysv
sudo service mongod start
mongod start/running, process 3371
mongodb
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
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 mongo
und 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.
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