wake-up-neo.net

sudo service mongodb restart gibt in Ubuntu 14.0.4 einen "nicht erkannten Dienstfehler" aus

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

43
dot

Versuche dies:

Schreibe mongodb anstelle von mongod

Sudo service mongodb status
37
Parvez Hassan

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).

20
Alex M.

Für mich war die Lösung zu ersetzen

service mongod start

mit 

start mongod
7
ErichBSchulz

Sie müssen sicherstellen, dass die Datei (zB /etc/init.d/mongodb) Ausführungsberechtigungen hat.

chmod +x /etc/init.d/mongodb
5
cybafelo

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
3
Will

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
2

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

0
Juan Antonio

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: -

  1. Öffnen Sie ein Terminalfenster.
  2. Geben Sie den Befehl Sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927 aus.
  3. Geben Sie den Befehl Sudo touch /etc/apt/sources.list.d/mongodb-org.list aus.
  4. Geben Sie den Befehl Sudo gedit /etc/apt/sources.list.d/mongodb-org.list aus.
  5. Kopieren Sie eine der folgenden Zeilen (abhängig von Ihrem Release) in die geöffnete Datei ..__ Für 12.04: 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/

0
RawCode

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.

https://stackoverflow.com/a/53057695/8247133

0
Touseef Murtaza

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:

0
Eugene

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

0