Ich habe gerade mongoDB auf Ubuntu 14.0.4 installiert ... Ich habe versucht, die Shell zu starten, aber ich bekomme eine Fehlermeldung, dass die Verbindung abgelehnt wurde.
[email protected]:/etc/init.d$ mongo
MongoDB Shell version: 2.6.5
connecting to: test
2014-11-10T15:06:28.084-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-10T15:06:28.085-0500 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/Shell/mongo.js:146
exception: connect failed
Also habe ich beschlossen, den Dienst neu zu starten, was aber auch scheitert. Ich erhalte folgende Fehlermeldung:
[email protected]:/etc/init.d$ Sudo service mongodb restart
mongodb: unrecognized service
[email protected]:/etc/init.d$
Folgendes habe ich in meinem /var/log/mongodb/mongod.log - http://Pastebin.com/MrHt8tce
was ich bisher ausprobiert habe:
Ich habe hier einen anderen Beitrag gefunden: Kann mongodb nicht als Sudo Starten, was einen Kommentar zum Entfernen der Mongo-Lock-Datei enthält.
Ich habe die Sperrdatei gelöscht und dann den Befehl erneut ausgeführt. Der Befehl schlägt jedoch fehl, wie Sie unten sehen können:
[email protected]:/var/lib/mongodb$ Sudo rm mongod.lock
[email protected]:/var/lib/mongodb$ ls
journal local.0 local.ns _tmp
[email protected]:/var/lib/mongodb$ Sudo service mongodb start
mongodb: unrecognized service
Aber ich kann es mit /etc/init.d starten, wie Sie unten sehen können:
[email protected]:/var/lib/mongodb$ Sudo /etc/init.d/mongod start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongod start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongod
mongod start/running, process 27469
[email protected]:/var/lib/mongodb$ ls
journal local.0 local.ns mongod.lock
[email protected]:/var/lib/mongodb$ mongo
MongoDB Shell version: 2.6.5
connecting to: test
> db
test
>
Jede Idee, warum ich es nicht mit dem Dienstbefehl starten kann, wäre dankbar. Nach dem, was ich gelesen habe, sollte ich Sudo Service Mongodb verwenden
Versuche dies:
Schreibe mongodb
anstelle von mongod
Sudo service mongodb status
Ich habe eines Tages dieselbe Fehlermeldung. Sie sollten Folgendes verwenden:
1.Geben Sie den Status Ihres Mongo-Dienstes ab:
/etc/init.d/mongod status
oder
Sudo service mongod status
2.Wenn es nicht begonnen hat, reparieren Sie es so:
Sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
Sudo service mongodb start
Überprüfen Sie erneut, ob der Dienst erneut gestartet wird (1).
Für mich war die Lösung zu ersetzen
service mongod start
mit
start mongod
Sie müssen sicherstellen, dass die Datei (zB /etc/init.d/mongodb) Ausführungsberechtigungen hat.
chmod +x /etc/init.d/mongodb
Bei debian vom 10gen-Repo zwischen 2.4.x und 2.6.x benannten sie das Init-Skript /etc/init.d/mongodb in /etc/init.d/mongod um und die Standardkonfigurationsdatei aus/etc/mongodb .conf auf /etc/mongod.conf und die PID- und Sperrdateien auch von "mongodb" bis "mongod". Dies machte das Upgrade zum Problem, und ich sehe es nirgendwo in ihren Dokumenten. Auf jeden Fall sollten Sie die alten "mongodb" -Versionen entfernen:
update-rc.d -f mongodb remove
rm /etc/init.d/mongodb
rm /var/run/mongodb.pid
diff -ur /etc/mongodb.conf /etc/mongod.conf
Sehen Sie sich nun an, welche Konfigurationsänderungen Sie beibehalten müssen, und fügen Sie sie in die Datei mongod.conf ein.
Dann:
rm /etc/mongodb.conf
Jetzt kannst du:
service mongod restart
Für mich hat nichts geholfen, aber nach Rücksprache mit einem erfahrenen Devops-Kumpel bin ich mit der Lösung geendet
/lib/systemd/system/mongod.service
-Datei mit Inhalt erstellen
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
dann sollten Start/Stopp-Befehle funktionieren
$ Sudo service mongod start
Als Referenz - Ich habe Ubuntu 14.04 LTS, MongoDB 3.2.9 von installiert
deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse
Dies ist eine einfache Lösung, die für mich mit dem gleichen Problem funktionierte (denke ich):
mv /var/lib/mongodb /var/lib/mongodb_backup
mkdir /var/lib/mongodb
chmod 700 /var/lib/mongodb
chown mongodb:daemon /var/lib/mongodb
systemctl restart mongodb or service mongod restart
Originalquelle - https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux/
Wenn Sie mit Ubuntu 16.04 arbeiten und der nicht erkannte Dienstfehler auftritt, werden diese Anweisungen für Sie behoben: -
Sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927
aus.Sudo touch /etc/apt/sources.list.d/mongodb-org.list
aus.Sudo gedit /etc/apt/sources.list.d/mongodb-org.list
aus.deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.6 multiverse
Für 14.04: deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse
Für 16.04: deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse
Stellen Sie sicher, dass Sie die Versionsnummer mit der jeweils aktuellsten Version bearbeiten und die Datei speichern.
Installation Öffnet ein Terminalfenster und gibt den Befehl Sudo apt-get update && Sudo apt-get install -y mongodb-org
aus.
Lassen Sie die Installation abschließen.
MongoDB ausführen Zum Starten der Datenbank den Befehl Sudo service mongodb start
ausgeben. Sie sollten jetzt den Befehl ausgeben können, um festzustellen, dass MongoDB ausgeführt wird: systemctl status mongodb
Ubuntu 16.04 Lösung Wenn Sie Ubuntu 16.04 verwenden, können Sie auf ein Problem stoßen, bei dem der Fehler mongodb: nicht erkannter Dienst angezeigt wird. Um dies zu umgehen, müssen Sie diese Schritte ausführen.
Wenn Sie /etc/apt/sources.list.d/mongodb-org.list
hinzugefügt haben, entfernen Sie es mit dem Befehl Sudo rm /etc/apt/sources.list.d/mongodb-org.list
.
Aktualisieren Sie apt mit dem Befehl Sudo apt-get update
Installieren Sie die offizielle MongoDB-Version aus den Standard-Repositorys mit dem Befehl Sudo apt-get install mongodb
, damit der Dienst ordnungsgemäß eingerichtet wird
Entfernen Sie mit dem Befehl Sudo apt-get remove mongodb && Sudo apt-get autoremove
, was Sie gerade installiert haben.
Folgen Sie den Schritten 1 bis 5, um MongoDB zu installieren. Dadurch sollte die neueste Version von MongoDB mit den bereits vorhandenen systemd-Diensten neu installiert werden. Wenn Sie den Befehl systemctl status mongodb
ausgeben, sollten Sie sehen, dass der Server aktiv ist.
Ich habe die oben genannten (meist mit geringfügigen Modifikationen und Tippfehlerbehebungen) meistens hier kopiert - https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux/
Sie können den Befehl mongod
anstelle von mongodb
verwenden. Wenn Sie Probleme mit dbpath in mongo feststellen, können Sie meine Antwort unter dem folgenden Link verwenden.
Ich habe den Mongo-Server auf Debian Jessie mit manual von der offiziellen Seite installiert.
Es wurde nicht nach dem empfohlenen Befehl Sudo service mongod restart
mit demselben error - mongodb: unrecognized service
gestartet.
Nachdem ich den Inhalt des installierten Pakets durchgesehen hatte, fiel mir auf, dass es nur eine Systemd-Diensteinheit, aber kein SystemV-Init-Skript enthält:
# dpkg -L mongodb-org-server
/.
/usr
/usr/bin
/usr/bin/mongod
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/mongodb-org-server
/usr/share/doc
/usr/share/doc/mongodb-org-server
/usr/share/doc/mongodb-org-server/LICENSE-Community.txt
/usr/share/doc/mongodb-org-server/README
/usr/share/doc/mongodb-org-server/copyright
/usr/share/doc/mongodb-org-server/changelog.gz
/usr/share/doc/mongodb-org-server/GNU-AGPL-3.0.gz
/usr/share/doc/mongodb-org-server/THIRD-PARTY-NOTICES.gz
/usr/share/doc/mongodb-org-server/MPL-2.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/mongod.1.gz
/etc
/etc/mongod.conf
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/mongod.service
Aber mein System lief auf SysV init:
# stat /proc/1/exe
File: '/proc/1/exe' -> '/sbin/init'
So gibt es jetzt zwei Möglichkeiten:
systemctl start mongod
aus.Ich denke, Sie haben möglicherweise die Version von Mongodb für die falsche Systemdistribution installiert.
Schauen Sie sich an, wie Sie mongodb für Ubuntu und Debian installieren:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/http://docs.mongodb.org/manual/tutorial/install-mongodb-on -ubuntu/
Ich hatte ein ähnliches Problem, und es geschah, dass ich die Ubuntu-Pakete in Debian installierte