Jak zainstalować MongoDB 3.0 w Vivid?

8

Oficjalnym żywym pakietem dla mongodb jest 2.x, a pakiety, które MongoDB zapewnia na http://repo.mongodb.org/apt/ubuntu/dists/trusty/, są dostępne tylko dla wersji LTS.

Alternatywą jest to, że mogłem wrócić do 14.04 LTS, ale musiałbym zainstalować openjdk-8-jdk, który jest dostępny tylko dla vivid.

Hugh Rawlinson
źródło
1
Myślę, że nic złego się nie stanie, jeśli zainstalujesz go z zaufanego repo na vivid.
Pilot6

Odpowiedzi:

13

Możliwe, że MongoDB nie uruchomi się, jeśli użyjesz pakietów Trusty:

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

W takim przypadku zainstaluj pakiety Debian Wheezy zgodnie z opisem na końcu.

Zainstaluj pakiety Trusty DEB

Pobierz pliki DEB

cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb

I zainstaluj za pomocą (w tej kolejności)

sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb

I wzięte z komentarzy, dziękuję @ Pilot6 :

Mogą mieć wzajemne zależności. Dlatego pakiety instalacyjne jeden po drugim mogą dawać błędy. sugerujęsudo dpkg -i mongodb*.deb


Użyj zaufanego PPA

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Użyj pakietów Debian Wheezy

Możliwe, że MongoDB nie uruchomi się, jeśli użyjesz pakietów Trusty:

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

W takim przypadku zainstaluj pakiety Debian Wheezy w sposób opisany poniżej

sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo 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
AB
źródło
Mogą mieć wzajemne zależności. Dlatego pakiety instalacyjne jeden po drugim mogą dawać błędy. Sugerujęsudo dpkg -i mongodb*.deb
Pilot6,
@ Pilot6 Dlatego sudo dpkg -i mongodb-org_3.0.3_amd64.debjako ostatnie polecenie
AB
Tylko sugestia. I jest łatwiejsze jak jedno polecenie. Jeśli zainstalujesz wiele pakietów w jednym poleceniu, zależności zostaną rozwiązane.
Pilot6
@ Pilot6 dodano i połączono =)
AB
Ok, użyłem pakietów debetowych Trusty i zadziałało. Jak mogę uruchomić go jako usługę, aby móc go uruchomić i zatrzymać service mongod start?
Hugh Rawlinson,
4

Pomyślnie zainstalowano wersję mongo 3.0.6 w moim Ubuntu 15.04 przy użyciu repozytorium debian wheezy - patrz poniższe kroki

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

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

Jednak po wykonaniu wszystkich powyższych kroków i zainstalowaniu mongodb na moim komputerze, teraz, gdy próbowałem uruchomić usługę mongodb sudo service mongod start, zakończyło się to niepowodzeniem. Zgłaszanie następującego komunikatu o błędzie

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

Oto jak rozwiązałem i normalnie uruchomiłem mongodb

  • Zmień domyślne pliki magazynu danych MongoDB z / var / lib / mongodb na / data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf i zmień wiersz „dbpath” jak poniżej

  • Zamień dbpath = / var / lib / mongodb TO dbpath = / data / db, a następnie zapisz plik.

  • Następnie usuń stary domyślny / var / lib / mongodb

  • Teraz musimy utworzyć wszystkie katalogi / pliki należące do użytkownika mongod

  • Biegać 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ższego

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

Rohan_Paul
źródło
1

Jak powiedziałem wcześniej: Pakiety Debian / Ubuntu zostały załatane za pomocą systemowych jednostek serwisowych, aby wypełnić dziurę pozostawioną przez rzeczy publikowane bezpośrednio z mongodb.org. Ale nie brakuje mongodb.serviceplikó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 . Istotnie , istnieje także jednostka serwisowa opublikowana przez mongodb.org . Jest tak po prostu, że ludzie z mongodb.org błędnie połączyli użycie RPM z użyciem systemd w materiałach specyficznych dla dystrybucji.

Zauważ, że jak na ironię, jednostki usługowe dostarczone przez mongodb.org nie stosują dyrektyw systemd dotyczących jednostek usług, które sam mongodb.org zaleca . Nie dostarczaj też tych dostarczonych przez Debian / Ubuntu. Ale znowu: ręcznie napisany serwis z tymi dyrektywami nie jest trudny do napisania; lub rzeczywiście zmodyfikować, aby dodać rzeczy takie jak numactl. ☺

Dalsza lektura

JdeBP
źródło
0

Dobrze żaden z AB odpowiedź pracował. Więc moją jedyną opcją była instalacja z tarballa

Postępuj zgodnie z instrukcjami dotyczącymi dokumentów związanych z tym tematem.

deostroll
źródło
0

Jako krótki dodatek do doskonałej odpowiedzi @ AB. Na vivid amd64, z poprzednią instalacją mongod 2.6 .26, po prostu zamieniając istniejący sources.list.dplik na

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse

a następnie aktualizacja dist działała automatycznie.

sudo apt-get update
sudo apt-get dist-upgrade
serv-inc
źródło