Comment installer MongoDB 3.0 dans Vivid?

8

Le package vif officiel pour mongodb est 2.x, et les packages que MongoDB se fournissent sur http://repo.mongodb.org/apt/ubuntu/dists/trusty/ ne sont disponibles que pour les versions LTS.

Une alternative est que je pourrais revenir à 14.04 LTS, mais je devrais installer openjdk-8-jdk, qui n'est disponible que pour vivid.

Hugh Rawlinson
la source
1
Je pense que rien de mauvais ne se produira si vous l'installez du fidèle repo au vif.
Pilot6

Réponses:

13

Il est possible que MongoDB ne démarre pas si vous utilisez les packages Trusty:

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

Dans ce cas, installez les paquets Debian Wheezy comme décrit à la fin.

Installer les packages Trusty DEB

Téléchargez les fichiers 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

Et installez avec (dans cet ordre)

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

Et d'après les commentaires, merci @ Pilot6 :

Ils peuvent avoir des dépendances entre eux. C'est pourquoi les packages d'installation un par un peuvent donner des erreurs. je suggèresudo dpkg -i mongodb*.deb


Utilisez le Trusty 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

Utilisez les paquets Debian Wheezy

Il est possible que MongoDB ne démarre pas si vous utilisez les packages Trusty:

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

Dans ce cas, installez les paquets Debian Wheezy comme décrit ci-dessous

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
UN B
la source
Ils peuvent avoir des dépendances entre eux. C'est pourquoi les packages d'installation un par un peuvent donner des erreurs. Je suggèresudo dpkg -i mongodb*.deb
Pilot6
@ Pilot6 Donc sudo dpkg -i mongodb-org_3.0.3_amd64.debcomme dernière commande
AB
Juste une suggestion. Et c'est plus facile en une seule commande. Si vous installez plusieurs packages dans une seule commande, les dépendances sont résolues.
Pilot6
@ Pilot6 ajouté et lié =)
AB
Ok, j'ai utilisé les packages deb Trusty et cela a fonctionné. Comment puis-je le faire fonctionner en tant que service afin de pouvoir le démarrer et l'arrêter en utilisant service mongod start?
Hugh Rawlinson
4

Installation réussie avec mongo version 3.0.6 dans mon Ubuntu 15.04 en utilisant le référentiel Debian Wheezy - voir les étapes ci-dessous

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

Cependant, après toutes les étapes ci-dessus et mongodb installé sur ma machine, maintenant, lorsque j'essayais de démarrer le service mongodb, sudo service mongod startil échouait. Lancer le message d'erreur suivant

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

Voici donc comment j'ai résolu et mongodb de démarrage normalement

  • Changez les fichiers de stockage de données par défaut de MongoDB de / var / lib / mongodb en / data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf et changez la ligne "dbpath" comme ci-dessous

  • Remplacez dbpath = / var / lib / mongodb TO dbpath = / data / db , puis enregistrez le fichier.

  • Ensuite, supprimez l'ancien / var / lib / mongodb par défaut

  • Maintenant, nous devons créer tous les répertoires / fichiers appartenant à l'utilisateur mongod

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

Et maintenant, enfin, je peux commencer mongo avec sudo service mongod start

Et vérifiez que le service fonctionne avec sudo systemctl status mongod - Il devrait afficher un message similaire à celui ci-dessous

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

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

J'ai détaillé mes étapes dans mon article de blog .

Rohan_Paul
la source
1

Comme je l'ai déjà dit: les paquets Debian / Ubuntu ont été corrigés avec des unités de service systemd, pour combler le vide laissé par les trucs qui sont publiés directement sur mongodb.org. Mais les mongodb.servicefichiers unitaires ne manquent pas sur le WWW. Ce n'est pas difficile non plus d'en écrire un. (J'ai.)

Plus précisément: vous trouverez une telle unité de service dans le package mongodb-server version 2.6 pour Ubuntu version 15 . Il y a aussi une unité de service publiée par mongodb.org . C'est simplement le cas que les gens de mongodb.org ont confondu par erreur l'utilisation de RPM avec l'utilisation de systemd dans les trucs spécifiques à la distribution.

Notez que, ironiquement, les unités de service fournies par mongodb.org n'appliquent pas les directives d'unité de service systemd que mongodb.org lui-même recommande . Pas plus que ceux fournis par Debian / Ubuntu. Mais, encore une fois: une unité de service manuscrite avec ces directives n'est pas difficile à écrire; ou bien de modifier pour ajouter des choses comme numactl. ☺

Lectures complémentaires

JdeBP
la source
0

Eh bien, aucune des réponses d'AB n'a fonctionné. Donc ma seule option était d'installer à partir du tarball

Suivez les instructions sur les documents liés à ce sujet.

déostroll
la source
0

En complément à l'excellente réponse de @ AB. Sur vivid amd64, avec une installation précédente de mongod 2.6 .26, il suffit de remplacer le sources.list.dfichier existant par

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

suivi d'une mise à niveau dist fonctionnait automatiquement.

sudo apt-get update
sudo apt-get dist-upgrade
serv-inc
la source