MongoDB 3.0.2 nie uruchomi się po aktualizacji do Ubuntu 15.10


14

Niedawno zaktualizowałem system do Ubuntu 15.10, po czym MongoDB 3.0.2 nie uruchamia się.

$ sudo service mongod start

co spowodowałoby błąd:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Odpowiedzi:


21

To po prostu brak pliku usługi dla systemd. Nie trzeba wracać do upstartu, jak zrobił to Kartik, ani używać innego repozytorium niż opisano w https://docs.mongodb.org/manual/installation/ .

Utwórz plik /lib/systemd/system/mongodb.serviceo następującej treści:

[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

Zobacz także notatkę w askubuntu.com/a/617869/43344 .
JdeBP,

Dodałbym, że trzeba uważnie obserwować własność pliku katalogu danych, blokady tmp fs i pliku dziennika. Bałam się, próbując to uruchomić i sudo service...po cichu
zawiodłem

4
z jakiegoś powodu jest wywoływany domyślny plik konfiguracyjny, /etc/mongod.confa nie/etc/mongodb.conf
mightyuhu,

1
@mightyuhu jest poprawny, bez zdefiniowanej prawidłowej ścieżki dostaję błąd. z prawidłową ścieżką nie dostaję niepowodzenia.
user1063287 21.04.16

2
Dzięki! To jest właściwa odpowiedź. Jedna mała rzecz: nazwa usługi powinna być mongodtaka, jakiej używają na swojej oficjalnej stronie. Tak mongodb.confpowinno być, mongod.conf a nazwa pliku powinna być/lib/systemd/system/mongod.service
caisah 24.04.16

12

Ten błąd wystąpił z powodu problemu z nowym Ubuntu (15 i nowszym).

Domyślny system init to systemd, który wcześniej był Upstart . Musisz więc zainstalować Upstart, zrestartować system i proszę, możesz teraz uruchomić usługę mongodb.

  • Zainstaluj Upstart

sudo apt-get install upstart-sysv

  • Uruchom ponownie system

sudo service mongod start

mongod start/running, process 3371


1
Nazwa usługi to terazmongodb
sowrov

@sowrov, nie, najnowsza nazwa usługi to wciąż „mongod”
Clay Ferguson

1
po zainstalowaniu upstart-sysv i ponownym uruchomieniu mojego systemu Ubuntu 16.04 wyłączył się; Musiałem wrócić do zdrowia i usunąć go z apt-get. Ten wątek może być pomocny, jeśli chcesz nadal używać upstart askubuntu.com/questions/760615/…
jrgd

5

Użyłem pakietu debian w Ubuntu 15.10

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

1

Miałem podobne problemy po aktualizacji do 15.10.

Może być wiele problemów, ale w zależności od tego, co spowodowało problem, możesz uruchomić mongodb przez init.d:

sudo /etc/init.d/mongodb start

To działało dla mnie, ale nie jest rozwiązaniem długoterminowym, ponieważ musisz uruchomić to po każdym ponownym uruchomieniu lub dodać do zadań uruchamiania. Więc postąpiłem następująco:

1) utworzenie pliku usługi zgodnie z wyjaśnieniem „sclausen”.

2) przeładuj usługę, uruchamiając:

sudo systemctl daemon-reload

3) pobiegł sudo service mongodb start

4) Polecenie uruchomiono bez danych wyjściowych. Więc przetestowałem przez uruchomienie mongoi dostałem błąd gniazda:

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) Przejrzałem dzienniki tail -n 50 /var/log/mongodb/ i odkryłem podstawowy błąd:

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) usunął problematyczny plik gniazda: sudo rm /tmp/mongodb-27017.sock jak sugerowano w tym wątku: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0

7) uruchomiłem ponownie usługę: sudo service mongodb start

w tym momencie wszystko było dobrze, a Bob wrócił na swoją właściwą pozycję jako wujek.


0

W moim przypadku mam Ubuntu 16.04.1, instalowałem MongoDB 3.2.11 i otrzymywałem ten sam błąd. Po kilku oczyszczeniach i próbach w końcu zadziałało „włączanie” usługi:

systemctl enable mongod.service

To po prostu działało

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.