Mam zainstalowany MongoDB 2.6 na czystą zainstalowanym Ubuntu 15.04:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Skończyło się bez żadnych problemów. Jednak gdy próbowałem go uruchomić, otrzymałem następujący błąd:
$ sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Jak mogę to naprawić?
/var/log/syslog
, weryfikacja nieudanej próby, a następnie edycja/etc/init/mongodb.conf
może również pomóc, jeśli używasz niestandardowego katalogu danych, katalogu dziennika lub instancji użytkownika.Zespół MongoDB twierdzi, że nie będzie obsługiwał Ubuntu 15.04 i zamiast tego planuje wesprzeć 16.04 (patrz https://jira.mongodb.org/browse/SERVER-17742 ).
Ubuntu 15.04 zmienia domyślny system init z Upstart na systemd. Nie udało mi się uruchomić MongoDB 3.0 z systemd.
Możesz wrócić do Upstart, instalując
upstart-sysv
:Następnie uruchom ponownie i MongoDB powinien być włączony.
Mam nadzieję znaleźć prosty sposób na uruchomienie MongoDB na Ubuntu 15.04 bez cofania się w czasie.
źródło
Instalujesz z pakietów opublikowanych bezpośrednio z mongodb.org. Powinieneś instalować z pakietów dostarczonych w repozytorium Ubuntu. Pakiety Debian / Ubuntu zostały załatane za pomocą jednostek systemowych, aby wypełnić dziurę pozostawioną przez mongodb.org.
(Nie brakuje
mongodb.service
plików jednostkowych na stronie WWW. Nie jest też trudne napisanie jednego. Mam.)W szczególności: taką jednostkę usługową znajdziesz w pakiecie mongodb-server wersja 2.6 dla Ubuntu w wersji 15 . Więc po prostu zainstaluj ten pakiet.
(Należy zauważyć, że jednostki usług dostarczone przez Debian / Ubuntu nie stosują zalecanych przez Mongo dyrektyw systemowych jednostek usług .)
Dalsza lektura
źródło
Stworzyłem skrypt Systemd, który wydaje się działać dla Ubuntu 15.04+ i Mongo 3.0+:
https://gist.github.com/benileo/ada486d73f58dd93a0ee
Upewnij się, że ustawiłeś katalog danych w
/etc/mongod.conf
źródło
Czy to nie najlepsza odpowiedź? Od duplikatu pytania: https://askubuntu.com/a/694226/255468 autor: @sclausen
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.service o następującej treści:
źródło
https://jira.mongodb.org/browse/SERVER-17742
Wygląda na to, że prawdopodobnie nie zostanie to w pełni naprawione w wersji> 2.6.3 do Ubuntu 16.04, chyba że wystąpi silny krzyk.
Tak więc rozwiązaniem było dla mnie wydanie:
źródło
użyj „mongodb” zamiast „mongod”
to znaczy
źródło
Wiele z tych odpowiedzi jest związanych z Mongo 3.0, podczas gdy pytanie dotyczy konkretnie 2.6.
Udało mi się zainstalować 2.6 przy użyciu repozytorium Debiana od 10gen. Wygląda na to, że działa idealnie z Ubuntu 15.04.
Źródło: Jak zainstalować MongoDB 2.6 na Ubuntu 14.10, 14.04 i 12.04 LTS
źródło
Pytanie dotyczy wersji 2.6.
Unit mongod.service failed to load
Otrzymałem dokładnie ten sam błąd w moim Ubuntu 15.04 dla wersji 3.0.6. Ostatecznie rozwiązany przy użyciu tego samego repozytorium wheezy wspomnianego powyżej przez Dielson Sales.A po instalacji (wykonując czynności opisane przez @Dielson Sales) napotkał powyższy błąd. Oto jak w końcu rozwiązałem.
A) Zmień domyślne pliki magazynu danych MongoDB z / var / lib / mongodb na / data / db
Najpierw utwórz nowy katalog / data / db
sudo mkdir -p /data/db
Otwórz plik mongod.conf
sudo gedit /etc/mongod.conf
i zmień wiersz „dbpath” jak poniżejZamień dbpath = / var / lib / mongodb TO dbpath = / data / db i zapisz plik.
Następnie usuń stary domyślny / var / lib / mongodb
Teraz musimy utworzyć wszystkie katalogi / pliki będące własnością użytkownika mongod
B) Więc biegnij
sudo chown -R mongodb:mongodb /data/db
A teraz w końcu mogę zacząć od mongo
sudo service mongod start
I chce, że usługa jest uruchomiona
sudo systemctl status mongod
- Powinien wyświetlać komunikat podobny do poniższegoLoaded: loaded (/etc/init.d/mongod)
Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago
Szczegółowo opisałem moje kroki w moim blogu
źródło
Najpierw pobierz mongodb:
pobierz wyciąg:
uruchom mongod (mongodb-linux-x86_64-3.0.6.tgz / bin / mongod) z atrybutem -dbpath:
Może to być dowolny pusty katalog
i na koniec uruchom mongo (mongodb-linux-x86_64-3.0.6.tgz / bin / mongo)
pracował na moim ubuntu 15 :)
przepraszam za mój zły angielski, mieszkam w Brazylii
źródło
Po godzinach od wyszukiwania rozwiązaniem było uaktualnienie mojego Ubuntu z 15.04 do 16.04 za pomocą tego polecenia:
Krok 1
Zajmie to kilka minut, więc nie panikuj, niż musisz usunąć mongodb:
Krok 2
A teraz zainstaluj mongodb, ale używając tego źródła:
Krok 3
I to wszystko.
Uwaga: Jeśli w pierwszym wierszu pojawi się błąd „E: wpisz„ deb ”. . . w pliku mongodb-org-3.0.list
wszystko, co musisz zrobić, to dostać się do tego pliku za pomocą gedit i usunąć 'na początku i na końcu zdania.
źródło
Ubuntu 15.04+ używa systemd zamiast upstart . Zacznij od oficjalnego przewodnika instalacji MongoDB . Następnie użyj ich oficjalnego
mongod.service
:Pobieranie, łatanie, instalowanie usługi i konfiguracja dir + uprawnienia
Uruchomić usługę
Sprawdź status usługi
źródło
Napisałeś literówkę w swoim poleceniu.
Spróbuj użyć tego zamiast:
sudo service mongodb start
źródło