Fehler beim Starten von mongod.service: Gerät mongod.service nicht gefunden


76

Ich verfolge alle Schritte in MongoDB Installation erwähnen Dokumente für Ubuntu 16.04.

Schritte 1:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

Schritte 2:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

Schritte 3:

sudo apt-get update

Schritte 4:

sudo apt-get install -y mongodb-org

Schritte 5:

sudo service mongod start

Als ich MongoDB startete, wurde folgende Fehlermeldung angezeigt:

Fehler beim Starten von mongod.service: Gerät mongod.service nicht gefunden.


2
Ich habe das gleiche Problem und die folgende Antwort war das einzige, was für mich funktioniert hat: https://askubuntu.com/a/842599
Ali Mousavi

Antworten:


102

Höchstwahrscheinlich ist die Einheit mongodb.service maskiert. Verwenden Sie den folgenden Befehl, um es zu entlarven.

sudo systemctl unmask mongod

und erneut ausführen

sudo service mongod start


6
@Ilan wir können dir nicht helfen, wenn du uns dein Problem nicht erklärst. Nur zu sagen "nicht für mich arbeiten", hilft nicht.
Jehanzeb.Malik

4
Rückkehr:Unit mongodb.service does not exist, proceeding anyway.
Alper

4
Der richtige Befehl lautet:sudo systemctl unmask mongod && sudo service mongod start
Forkie

3
Ein wichtiger Tippfehler führte dazu, dass diese Antwort nicht funktionierte. bitte korrigiere es. Der richtige Gerätename in Ubuntu ist mongodnicht mongodb. Der richtige Befehl zum Entlarven wäre also : sudo systemctl unmask mongod. Danke für Ihre Aufmerksamkeit.
Mahyard

3
Aus irgendeinem Grund musste ich mongodbstatt mongodauf Ubuntu 19.10 sagen .
Daniel

43

Bitte befolgen Sie die folgenden Schritte, es sollte funktionieren.

1 - Deinstallieren Sie die aktuelle Installation vollständig

Quelle - offizielle Anweisungen

sudo service mongod stop

Pakete entfernen

sudo apt-get purge mongodb-org*

Entfernen Sie die Ordner

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

2 - Neu installieren wie auf der offiziellen Website beschrieben, ich werde nur alle Schritte aufschreiben. Geben Sie hier die Linkbeschreibung ein

Importieren Sie den öffentlichen Schlüssel

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

Erstellen Sie eine Listendatei für Ubuntu 16.04

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

Aktualisieren Sie die Liste

sudo apt-get update

Installieren Sie das neueste Paket

sudo apt-get install -y mongodb-org

3 - Jetzt sollte es funktionieren, bitte versuchen Sie es mit dem folgenden Befehl

sudo service mongod start

und überprüfen Sie den Status

mongo

es sollte die Mongo-Muschel erscheinen


5
Für zukünftige Leser, die ohne Erfolg neu installiert wurden, ist diese AskUbuntu-Antwort eine bessere Lösung. Es ist unklar, was der Unterschied zwischen dieser Antwort und dem Versuch von OP ist, da beide auf denselben Anweisungslink verweisen.
Parfait

Es wäre schön, wenn der Kommentar von @ Parfait in die Antwort aufgenommen würde. Hat mir unglaublich viel Zeit gespart.
Phillip Martin

Es funktioniert, ich denke, das Problem war, dass ich nicht für die richtige Ubuntu-Version installiert habe (überprüfen Sie es mit lsb_release -a)
Albert James Teddy

Hat für mich gearbeitet. Vielen Dank!
Ohne

41

Fehler beim Starten von mongod.service: Gerät mongod.service nicht gefunden

Wenn Sie dem offiziellen Dokument folgen und auf den obigen Fehler stoßen , bedeutet dies, dass mongod.service auf Ihrem Computer noch nicht aktiviert ist (ich spreche von Ubuntu 16.04). Sie müssen dies mit dem folgenden Befehl tun

sudo systemctl enable mongod.service

Jetzt können Sie mongodb mit dem folgenden Befehl starten

sudo service mongod start

5
Operation konnte nicht ausgeführt werden: Keine solche Datei oder kein solches Verzeichnis :(
Mithun GS

Das funktionierte , obwohl systemctl list-unit-files --type=servicegesagt mongodwurde bereits aktiviert. Seltsam.
Christiaan Maks

34

Sie vermissen ein 'b', denke ich?

sudo service mongod start

sollte sein

sudo service mongodb start

Ich denke das ist der Fall?


6
nach dem Ausführen von "sudo systemctl entlarvt mongodb" funktioniert es :)
Rahul

3
Unter Ubuntu 18.04, wenn Sie vom System-Repo installiert haben, dann ist es mongodbanstelle vonmongod
qed

13

[Lösung]

Tippe einfach

sudo mongod

Es wird klappen.


3
wenn Failed to enable unit: Unit file mongod.service does not exist.dies nicht nur helfen würde, wenn Dauerwelle verweigern mongo!
Vladimir Ch

1
@JobinMathew, funktionierte gut in 18.4 LTS
Mohammad Heydari

1
Arbeitet für 16.04
Mithun GS

Arbeitet für
20.04

6
$service mongodb start
$service mongodb status

Der Status ist aktiv, als ich den obigen Befehl verwendet habe



5

Bei Ubuntu 16.04.5 wird festgestellt, dass MongoDB-Installationen die Datei mongod.service nach der Installation in meinem Fall nicht automatisch aktivieren, nachdem ich sie auf mehreren Servern installiert habe. Daher müssen wir sie wie folgt aktivieren:

Problem unten, um zu überprüfen, ob Mongod aktiviert ist

systemctl list-unit-files --type=service

Wenn es als "deaktiviert" angezeigt wird, müssen Sie es aktivieren.

sudo systemctl enable mongod.service

Wenn wir sehen möchten, ob die Datei mongod.service vorhanden ist, falls diese Datei fehlt, checken Sie ein

ls /lib/systemd/system

Sie sehen eine Datei

/lib/systemd/system/mongod.service

4

Gemäß Dokumentation :

Führen Sie diesen Befehl aus, um den Dämon neu zu laden:

sudo systemctl daemon-reload

Danach müssen Sie den Mongod-Dienst neu starten:

sudo systemctl start mongod

Führen Sie Folgendes aus, um zu überprüfen, ob MongoDB gestartet wurde:

sudo systemctl status mongod

Führen Sie Folgendes aus, um sicherzustellen, dass MongoDB nach einem Systemneustart gestartet wird:

sudo systemctl enable mongod

4

Dies ist mir beim Hinzufügen von Benutzern in der Admin-Datenbank passiert.

sudo systemctl daemon-reload 

wird von der offiziellen Mongo-Website empfohlen, hat aber nicht geholfen.

Wenn du bekommst

Der Job für mongod.service ist fehlgeschlagen, da der Steuerungsprozess mit dem Fehlercode beendet wurde. Weitere Informationen finden Sie unter "systemctl status mongod.service" und "journalctl -xe".

Während der Ausführung

sudo systemctl start mongod

ausführen journalctl -xeund wenn das Problem ist

Failed to start MongoDB Database Server.
-- Subject: Unit mongod.service has failed

Führen Sie dann sudo mongod-> aus mongo , um das Problem zu beheben. Wenn Sie mit ausführen möchten systemctl, beenden Sie die Fenster für mongod und mongo und führen Sie sie aus

sudo systemctl start mongod 

und dann mongo


3

In einigen Fällen wird das Gerät aus Sicherheitsgründen als maskiert markiert . Dieser Status ist viel stärker als das Deaktivieren, bei dem Sie den Dienst nicht einmal manuell starten können.

Führen Sie den folgenden Befehl aus, um dies zu überprüfen:

    systemctl list-unit-files | grep mongod

wenn Sie so etwas herausfinden:

    mongod.service                         masked

Dann können Sie das Gerät entlarven, indem Sie:

    sudo systemctl unmask mongod

Dann möchten Sie möglicherweise den Dienst starten:

    sudo systemctl start mongod

und um den Autostart während des Systemstarts zu aktivieren:

    sudo systemctl enable mongod

Wenn mongodb jedoch nicht neu gestartet oder überhaupt nicht maskiert wurde, haben Sie die Möglichkeit, es folgendermaßen neu zu installieren:

    sudo apt-get --purge mongo*
    sudo apt-get install mongodb-org

danke an @ jehanzeb-malik


2

Ich habe den gleichen Fehler für eine lange Zeit erhalten, habe fast alle Installationsanweisungen auf Google ausprobiert, konnte aber keine Antwort finden ...

Ich habe die Anweisungen von https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ befolgt , erhalte aber weiterhin den Fehler Fehler beim Starten von mongod.service: Einheit mongod.service nicht gefunden

Ich habe zuerst installiert mit: sudo apt-get install -y mongodb-org Dann bemerkte ich, wo ich laufe:

$ sudo apt-get install -y mongodb-org
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  mongodb-org-mongos mongodb-org-shell mongodb-org-tools
The following NEW packages will be installed
  mongodb-org mongodb-org-mongos mongodb-org-shell mongodb-org-tools
0 to upgrade, 4 to newly install, 0 to remove and 46 not to upgrade.
Need to get 0 B/40.1 MB of archives.
After this operation, 178 MB of additional disk space will be used.
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 379307 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_4.0.3_amd64.deb ...
Unpacking mongodb-org-shell (4.0.3) ...
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_amd64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_amd64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_amd64.deb ...
Unpacking mongodb-org (4.0.3) ...
Setting up mongodb-org-shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org (4.0.3) ...


$ mongod --version
db version v2.6.12
2018-10-26T12:03:12.362+0200 git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a

Die Datenbankversion war 2.6.12 anstelle der neuesten Version 4.0.3. Stellen Sie also sicher, dass mongodb-org-server noch nicht installiert ist. Wenn ja, aktualisieren Sie ihn auf Ihre Zielversion (wie unter @ https://docs.mongodb.com/manual/tutorial/install-mongodb-on angegeben) -ubuntu / -> Schritt 4 - Installieren Sie eine bestimmte Version von MongoDB.)

target_version = 4.0.3

sudo apt-get install -y mongodb-org = Zielversion mongodb-org-server = Zielversion mongodb-org-shell = Zielversion mongodb-org-mongos = Zielversion mongodb-org-tools = Zielversion

$ sudo apt-get install -y mongodb-org=4.0.3 mongodb-org-server=4.0.3 mongodb-org-shell=4.0.3 mongodb-org-mongos=4.0.3 mongodb-org-tools=4.0.3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed
  mongodb-org mongodb-org-mongos mongodb-org-shell mongodb-org-tools
The following packages will be upgraded:
  mongodb-org-server
1 to upgrade, 4 to newly install, 0 to remove and 45 not to upgrade.
Need to get 15.7 MB/55.8 MB of archives.
After this operation, 217 MB of additional disk space will be used.
Get:1 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0/multiverse amd64 mongodb-org-server amd64 4.0.3 [15.7 MB]
Fetched 15.7 MB in 2s (6,289 kB/s)                 
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 379306 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_4.0.3_amd64.deb ...
Unpacking mongodb-org-shell (4.0.3) ...
**Preparing to unpack .../mongodb-org-server_4.0.3_amd64.deb ...
Failed to stop mongod.service: Unit mongod.service not loaded.
invoke-rc.d: initscript mongod, action "stop" failed.
dpkg: warning: old mongodb-org-server package pre-removal script subprocess returned error exit status 5
dpkg: trying script from the new package instead ...
dpkg: ... it looks like that went OK
Unpacking mongodb-org-server (4.0.3) over (2.6.12) ...**
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_amd64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_amd64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_amd64.deb ...
Unpacking mongodb-org (4.0.3) ...
Processing triggers for ureadahead (0.100.0-20) ...
Setting up mongodb-org-shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for systemd (237-3ubuntu10.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org-server (4.0.3) ...
Installing new version of config file /etc/mongod.conf ...
Setting up mongodb-org (4.0.3) ...

und danach funktioniert alles für mich: D.


2

Möglicherweise verwenden Sie eine falsche Version der Mongodb-Listendatei. Ich hatte dieses Problem, aber es ist mein Fehler, wenn ich nicht die richtige Listendatei für Ubuntu 16.04 ausgewählt habe. Die ausgewählte Standardeinstellung ist Ubuntu 14.04 und der Grund für meinen Fehler: "mongod.service konnte nicht gestartet werden: Einheit mongod.service wurde nicht gefunden." Geben Sie hier die Bildbeschreibung ein


2

Die folgenden Schritte haben mir geholfen, das Problem zu lösen, dass mongodb unter Ubuntu Server 18.04 LTS nicht gestartet werden kann

Schritt 1: Entfernen Sie zuerst MongoDB von der vorherigen, falls installiert:

sudo apt remove --autoremove mongodb-org

Schritt 2: Entfernen Sie alle Mongodb-Repo-Listendateien:

sudo rm /etc/apt/sources.list.d/mongodb*.list
sudo apt update

Schritt 3: Importieren Sie den vom Paketverwaltungssystem verwendeten öffentlichen Schlüssel:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Schritt 4: Erstellen Sie eine Listendatei für MongoDB:

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Schritt 5: Laden Sie die lokale Paketdatenbank neu:

sudo apt-get update

Schritt 6: Installieren Sie die MongoDB-Pakete:

sudo apt-get install -y mongodb-org

Schritt 7: Starten Sie MongoDB:

sudo service mongod start

Schritt 8: Beginnen Sie mit der Verwendung von MongoDB:

mongo

Hoffe es hilft dir.


2

Sie können reparieren

$ sudo rm /var/lib/mongodb/mongod.lock
$ mongod --repair
$ sudo service mongodb start

Für Stop

$ sudo service mongodb stop

Zum Neustart-

$ sudo service mongodb restart

Für Status-

$ sudo service mongodb status

2

Es funktionierte für mich unter Ubuntu 20.04: In meinem Fall war die Datei mongod.service gesperrt, sodass ich denselben Fehler erhielt. So beheben Sie das Problem: - Schritt 1: Verwenden Sie den folgenden Befehl, um zu überprüfen, ob der mongod.service dort vorhanden ist

cd /usr/bin/systemd/system
ls

Schritt 2: Wenn die Datei dort vorhanden ist, führen Sie den folgenden Befehl aus, um die Datei mongod.service zu entsperren

sudo chmod 777 /usr/bin/systemd/system/mongod.service -R

Schritt 3: Führen Sie nun die folgenden Befehle aus:

sudo systemctl daemon-reload
sudo systemctl start mongod
sudo systemctl enable mongod

1

Um das Problem zu lösen, dass mongodb unter Ubuntu 16.04 nicht gestartet werden kann 1) Schauen Sie sich die Mongodb-Protokolldatei an Geben Sie hier die Bildbeschreibung ein

2) Wir stellen fest, dass der Fehler auf "Fehler beim Aufheben der Verknüpfung der Socket-Datei / tmp / mongodb-27017" zurückzuführen ist.

3) Sehen Sie sich die Berechtigung der Datei /tmp/mongdb-27017.lock an und stellen Sie fest, dass der Eigentümer root anstelle von mongodb ist

4) Löschen Sie die Datei /tmp/mongodb-27017.sock manuell und verwenden Sie den Befehl "sudo chown mongodb: mongodb / tmp / mongodb *".

5) Starten Sie den Dienst mit systemcl und überprüfen Sie mit netstat, ob mongdob an Port 27017 gestartet wurde

Geben Sie hier die Bildbeschreibung ein

Gutschrift: https://www.mkyong.com/mongodb/mongodb-failed-to-unlink-socket-file-tmpmongodb-27017/ https://hevodata.com/blog/install-mongodb-on-ubuntu/


1

Ich habe dies gerade auf meinem Papageien-Betriebssystem erlebt und so habe ich es gelöst.

sudo service mongodb start

1

Folgen Sie einfach den folgenden Befehlen. Das hat bei mir funktioniert.

  1. Deinstallieren Sie Ihren Mongo vollständig von Ihrem System:

    sudo service mongod stop
    sudo apt-get purge mongodb-org
    sudo rm -r /var/log/mongodb
    sudo rm -r /var/lib/mongodb
    
  2. Installieren Sie nun mongodb mit den folgenden Befehlen neu:

    sudo apt update
    sudo apt install -y mongodb**
    

    Hinweis: Der Datenbankserver wird nach der Installation automatisch gestartet.

  3. Als nächstes überprüfen wir, ob der Server läuft und ordnungsgemäß funktioniert.

    sudo systemctl status mongodb
    

    Sie sehen diese Ausgabe:

    mongodb.service - An object/document-oriented database
    Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
    Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago
    Docs: man:mongod(1)
    Main PID: 2312 (mongod)
    Tasks: 23 (limit: 1153)
    CGroup: /system.slice/mongodb.service
       └─2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf**
    

1

Für diejenigen, die darauf stoßen und wie ich auf diese Antwort stoßen, wo sie diesen Fehler während der Deinstallation oder des Upgrades erhalten haben und Ubuntu den vorherigen immer wieder nicht deinstalliert, weil der Dienst nicht existiert, wird diese eine Zeile Sie darüber hinwegbringen und zulassen die Deinstallation oder das Upgrade, um fortzufahren.

sudo touch /lib/systemd/system/mongod.service

1

Nun ... Meine Antwort mag als naiv angesehen werden, aber tatsächlich war es die einzige Möglichkeit, wie MongoDB in meinem Fall funktioniert, Ubuntu 19.10. Ich habe versucht, die Befehle aus den am häufigsten bewerteten Kommentaren auszuführen, und beim Ausführen funktionierte keiner:

mongod --repair

Ich habe diese Warnung erhalten:

Als ich MongoDB zum ersten Mal verwendete, trat dieser Fehler auf

Mit einigen Nachforschungen fand ich heraus, dass das Ausführen der Datenbank in einem anderen Port eine Lösung sein könnte, dann:

mongod --port 27018

Und es funktioniert jedes Mal großartig für mich. Lange Antwort, wollte aber Kontext geben, bevor eine so einfache Lösung gegeben wurde.

(Wenn ich es falsch mache oder nicht logisch, bitte sag es mir! Relevant für mich)


1

Entfernen Sie Ihre Datenbank nicht, wenn Sie bereits einige Daten haben, die Sie nützlich fanden. Führen Sie einfach den folgenden Befehl aus und Sie sind gut.

sudo systemctl restart mongodb.service

0

Beachten Sie, dass bei Verwendung des Windows-Subsystems für Linux systemd nicht unterstützt wird und daher Befehle wie systemctlFolgendes nicht funktionieren:

Verbindung zum Bus fehlgeschlagen: Keine solche Datei oder kein solches Verzeichnis

Siehe Blocker für systemd? # 994 auf GitHub, Microsoft / WSL.

Der Mongo Server kann mondgodnatürlich weiterhin manuell über die Entwicklung gestartet werden .


0

Der zweite Schritt der Mongo-Installation ist

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Anstelle dieses Befehls machen Sie es manuell

  1. cd /etc/apt/
  2. nano sources.list
  3. Schreib es deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse

Und speichern Sie die Datei,

Setzen Sie den gesamten Vorgang wie in den Installationsdokumenten fort

Für mich geht das:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.