Nie udało się uruchomić mongod.service: Nie znaleziono jednostki mongod.service

42

Z jakiegokolwiek powodu za każdym razem, gdy próbuję uruchomić MongoDB jako usługę (usługa sudo mongod start), pojawia się następujący błąd:

Nie udało się uruchomić mongod.service: Nie znaleziono jednostki mongod.service. Postępowałem zgodnie ze wskazówkami dotyczącymi instalacji, że instalacja łącza mongo db nie powiodła się

system> sudo systemctl start mongodb
Failed to start mongodb.service: Unknown unit: mongodb.service

A kiedy próbuję sudo mongod:

MongoDB shell version: 3.2.13 connecting to: - 
2017-06-03T16:19:28.513+0530 W NETWORK [thread1] 
Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 
2017-06-03T16:19:28.514+0530 E QUERY [thread1] 
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed

A kiedy próbuję mongod --repair:

2017-06-03T16:32:35.514+0530 I CONTROL [initandlisten] 
MongoDB starting : pid=17423 port=27017 dbpath=/data/db 64-bit host=sid-Ideapad-Z570 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] db version v3.2.13 [listen] target_arch: x86_64 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] options: {} 2017-06-03T16:32:35.540+0530 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
Siddharth Jain
źródło
Jaki jest wynik tego polecenia: ls /etc/systemd/system | grep mongoOutput?
Ali Razmdideh
out put to mongodb.service
Siddharth Jain
Czy masz ten plik? /usr/bin/mongod; jeśli masz dane wyjściowe tego poleceniasudo mongod
Ali Razmdideh
MongoDB shell version: 3.2.13 connecting to: - 2017-06-03T16:19:28.513+0530 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 2017-06-03T16:19:28.514+0530 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed
Siddharth Jain
1
spróbuj mongod --repairwtedy sudo mongod; może to być pomocne
Ali Razmdideh

Odpowiedzi:

65

Ponownie zainstalowałem mongod-org, ponieważ moje dane nadal będą bezpieczne.

Problem polegał na tym, że mój system nie mógł znaleźć mongod.service, kiedy biegałem sudo service mongod status.

Uruchomienie tego naprawiło i przywróciło usługę:

sudo systemctl enable mongod

Potem wszystko, co musiałem zrobić, to skopiować moją poprawną konfigurację /etc/mongod.confi uruchomić

sudo service mongod restart
Shubham Chaudhary
źródło
9
Próbowałem włączyć mongod, ale to pokazujeFailed to execute operation: No such file or directory
Mostafiz Rahman
Po prostu zauważam, że działa to po zainstalowaniu społecznościowej wersji mongodb z repozytoriów mongodb
tak,
Spróbuj:sudo service mongodb status
Xonshiz
16

To zadziałało dla mnie.

  1. Całkowicie odinstaluj mongo z systemu:

    sudo service mongod stop 
    sudo apt-get purge mongodb-org* 
    sudo rm -r /var/log/mongodb 
    sudo rm -r /var/lib/mongodb
    
  2. Teraz zainstaluj ponownie mongodb za pomocą następujących poleceń:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
    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
    sudo apt-get update
    sudo apt-get install -y mongodb-org
    

    Aby zainstalować określoną wersję, należy określić każdy pakiet składników osobno wraz z numerem wersji, jak w poniższym przykładzie:

    sudo apt-get install -y mongodb-org=3.6.0 mongodb-org-server=3.6.0 mongodb-org-shell=3.6.0 mongodb-org-mongos=3.6.0 mongodb-org-tools=3.6.0
    
  3. Teraz możesz zobaczyć, jak mongod działa, ale wciąż niepokoi cię ten sam problem. Problem polega na tym, że twój system nie mógł znaleźć mongod.service podczas uruchamiania sudo service mongod status.

    Uruchomienie tego naprawiło i przywróciło usługę:

    sudo systemctl enable mongod
    
  4. Teraz możesz już korzystać z mongo.

    sudo service mongod restart
    
Akash Jain
źródło
Zrobiłem twój przewodnik, ale otrzymuję następujący błąd: Failed to enable unit: Unit file mongod.service does not exist.@Akash Jain
alper
Odniosłem sukces po tym, ale zrobiłem to w kroku 3, sudo systemctl enable mongodba w kroku 4 tak sudo systemctl start mongodb. Zwróć uwagę na nieoczekiwane bw mongodb zamiast tylko mongod.
ArtHare
3

Ja też napotkałem dokładnie problem wspomniany przez OP, mimo że zainstalowałem Mongodb, korzystając z oficjalnego samouczka instalacji ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ ),

UWAGA: w kroku 2 samouczka (utwórz plik listy dla Mongodb) ważne jest, aby kliknąć zakładkę odpowiednią dla konkretnej wersji Ubuntu na twoim komputerze. Domyślnie pokazuje Ubuntu 14.04, który stworzył problemy wymienione przez OP (Uruchomienie mongod.service: Nie znaleziono jednostki mongod.service)

Kiedy w końcu zauważyłem, że w kroku 2 musiałem poprawnie wybrać Ubuntu 16.04 (dla mnie), instalacja zakończyła się powodzeniem i po tym mongod uruchomił się bez żadnych problemów.

Bharat Mallapur
źródło
Dzięki, nie zauważyłem też kart wersji! Odinstalowano jak w docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/…, a następnie ponownie zainstalowano w odpowiedniej wersji.
Pete Montgomery,