Come installo MongoDB 3.0 in Vivid?


8

Il pacchetto vivido ufficiale per mongodb è 2.xe i pacchetti forniti da MongoDB su http://repo.mongodb.org/apt/ubuntu/dists/trusty/ sono disponibili solo per le versioni LTS.

Un'alternativa è che potrei tornare a 14.04 LTS, ma avrei bisogno di installare openjdk-8-jdk, che è disponibile solo per vivido.


1
Penso che non accadrà nulla di brutto se lo installi da fidato repo a vivido.
Pilota 6

Risposte:


13

È possibile che MongoDB non si avvii se si utilizzano i pacchetti Trusty:

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

In questo caso, installare i pacchetti Debian Wheezy come descritto alla fine.

Installa i pacchetti Trusty DEB

Scarica i file 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

E installa con (in questo ordine)

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

E preso dai commenti, grazie @ Pilot6 :

Possono avere dipendenze reciproche. Ecco perché i pacchetti di installazione uno a uno possono dare errori. suggeriscosudo dpkg -i mongodb*.deb


Utilizzare il PPA affidabile

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

Usa i pacchetti Debian Wheezy

È possibile che MongoDB non si avvii se si utilizzano i pacchetti Trusty:

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

In questo caso, installare i pacchetti Debian Wheezy come descritto di seguito

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

Possono avere dipendenze reciproche. Ecco perché i pacchetti di installazione uno a uno possono dare errori. Suggeriscosudo dpkg -i mongodb*.deb
Pilot6

@ Pilot6 Pertanto, sudo dpkg -i mongodb-org_3.0.3_amd64.debcome ultimo comando
AB,

Solo un suggerimento. Ed è più facile come un comando. Se si installano più pacchetti in un solo comando, le dipendenze vengono risolte.
Pilota 6

@ Pilot6 aggiunto e collegato =)
AB

Ok, ho usato i pacchetti deb di Trusty e ha funzionato. Come posso farlo funzionare come servizio in modo da poterlo avviare e smettere di usare service mongod start?
Hugh Rawlinson,

4

Installato correttamente con mongo versione 3.0.6 nel mio Ubuntu 15.04 usando il repository debian wheezy - vedi sotto i passaggi

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

Tuttavia, dopo tutti i passaggi precedenti e mongodb installato nella mia macchina, ora quando provavo ad avviare il servizio mongodb con sudo service mongod startesso non sarebbe riuscito. Lancio del seguente messaggio di errore

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

Ecco quindi come ho risolto e avviato normalmente mongodb

  • Cambia i file di archivio dati predefiniti di MongoDB da / var / lib / mongodb a / data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf e cambia la linea "dbpath" come di seguito

  • Sostituisci dbpath = / var / lib / mongodb TO dbpath = / data / db e quindi salva il file.

  • Quindi eliminare il vecchio predefinito / var / lib / mongodb

  • Ora dobbiamo rendere tutte le directory / i file di proprietà dell'utente mongod

  • Correre sudo chown -R mongodb:mongodb /data/db

E ora finalmente posso iniziare con mongo sudo service mongod start

E chcek con cui il servizio è in esecuzione sudo systemctl status mongod - Dovrebbe mostrare un messaggio simile al seguente

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

Ho dettagliato i miei passi nel mio post sul blog .


1

Come ho detto prima: i pacchetti Debian / Ubuntu sono stati patchati con unità di servizio systemd, per riempire il buco lasciato dal materiale pubblicato direttamente da mongodb.org. Ma non mancano i mongodb.servicefile di unità sul WWW. Non è nemmeno difficile scriverne uno. (Io ho.)

In particolare: troverai tale unità di servizio nel pacchetto versione 2.6 di mongodb-server per Ubuntu versione 15 . Esiste anche un'unità di servizio pubblicata da mongodb.org . È semplicemente il caso che la gente di mongodb.org abbia erroneamente confuso l'uso di RPM con l'uso di systemd nelle cose specifiche della distribuzione.

Si noti che, ironicamente, le unità di servizio fornite da mongodb.org non applicano le direttive sulle unità di servizio di systemd che mongodb.org stesso raccomanda . Né quelli forniti da Debian / Ubuntu. Ma, ancora: un'unità di servizio scritta a mano con queste direttive non è difficile da scrivere; o addirittura per modificare per aggiungere cose come numactl. ☺

Ulteriori letture


0

Beh, nessuna delle risposte di AB ha funzionato. Quindi la mia unica opzione era quella di installare dal tarball

Segui le istruzioni sui documenti relativi a questo argomento.


0

Come breve aggiunta alla risposta eccellente di @ AB. Su vivid amd64, con una precedente installazione di mongod 2.6 .26, è sufficiente sostituire il sources.list.dfile esistente con

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

seguito da un dist-upgrade funzionava automaticamente.

sudo apt-get update
sudo apt-get dist-upgrade
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.