MongoDB 2.6 ne démarre pas sur Ubuntu 15.04

51

J'ai installé MongoDB 2.6 sur Ubuntu 15.04: p>

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

Il a fini sans aucun problème. Cependant, lorsque j'ai essayé de le démarrer, j'ai eu l'erreur suivante:

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

Comment puis-je résoudre ce problème?

    
posée Akihiro HARAI 02.05.2015 - 00:10
la source

13 réponses

65

J'ai installé depuis le référentiel Wheeze de Debian et ça marche bien.

Assurez-vous d’abord de supprimer le paquetage mongodb-org et toutes ses dépendances:

sudo apt-get purge mongodb-org
sudo apt-get autoremove

Supprimez l’ancien mongodb.list que vous avez créé:

sudo rm /etc/apt/sources.list.d/mongodb.list

Utilisez plutôt le dépôt Debian:

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

Mettre à jour et réinstaller:

sudo apt-get update
sudo apt-get install -y mongodb-org

Après cela, vous pouvez démarrer le serveur avec succès:

sudo service mongod start

ou

systemctl start mongod

(comme l'explique Ernie Hershey en réponse au commentaire de Roman Gaufman ici: lien )

    
réponse donnée Dielson Sales 09.05.2015 - 01:13
la source
25

L’équipe MongoDB dit qu’ils ne prendront pas en charge Ubuntu 15.04 et envisagent de prendre en charge 16.04 (voir lien ) .

Ubuntu 15.04 avance le système d’initialisation par défaut de Upstart vers systemd. Je n'ai pas réussi à démarrer MongoDB 3.0 avec systemd.

Vous pouvez revenir à Upstart en installant upstart-sysv :

sudo apt-get install upstart-sysv

Puis redémarrez et MongoDB devrait être en place.

J'espère trouver un moyen simple d'exécuter MongoDB sur Ubuntu 15.04 sans changer les choses dans le temps.

    
réponse donnée Moshe Revah 02.05.2015 - 17:41
la source
4

Vous installez à partir des paquets publiés directement à partir de mongodb.org. Vous devriez installer à partir des packages fournis dans le référentiel Ubuntu. Les paquets Debian / Ubuntu ont été corrigés avec des unités de service systemd, pour combler le vide laissé par mongodb.org.

(Il n’ya pas de pénurie de fichiers mongodb.service sur le WWW. Il n’est pas difficile non plus d’écrire un seul fichier. 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 . Installez simplement ce paquet.

(Notez que les unités de service fournies par Debian / Ubuntu ne s’appliquent pas le mongo -recommandé les directives d'unité de service systemd .)

Lectures complémentaires

réponse donnée JdeBP 03.05.2015 - 23:37
la source
4

J'ai créé un script Systemd qui semble fonctionner pour Ubuntu 15.04+ et Mongo 3.0 +:

[Unit]
Description=High-performance, schema-free document-oriented database
Documentation=man:mongod(1)
After=network.target

[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongod/mongod.pid
ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

lien

Assurez-vous de définir votre répertoire de données dans /etc/mongod.conf

    
réponse donnée benileo 03.11.2015 - 22:12
la source
1

N'est-ce pas la meilleure réponse? À partir d'une question en double: lien par @sclausen

C'est juste l’absence de fichier de service pour systemd. Inutile de retourner à Kartik comme Kartik l'a fait ou d'utiliser un référentiel différent de celui décrit dans lien .

Créez un fichier /lib/systemd/system/mongodb.service avec le contenu suivant:

[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
    
réponse donnée Sudhanshu 05.01.2016 - 14:33
la source
1

lien

Il semble que cela ne sera probablement pas complètement corrigé pour & gt; 2.6.3 jusqu'à Ubuntu 16.04, sauf en cas de forte controverse.

La solution pour moi était donc d'émettre:

sudo apt-get install --reinstall mongodb
    
réponse donnée Fabien Thetis 09.03.2016 - 15:49
la source
1

utiliser "mongodb" au lieu de "mongod"

i.e

sudo service mongodb start

sudo service mongodb stop
    
réponse donnée Yasitha Bandara 03.03.2018 - 18:11
la source
0

Beaucoup de ces réponses sont liées à Mongo 3.0, alors que la question portait spécifiquement sur 2.6.

J'ai réussi à installer la version 2.6 en utilisant le dépôt Debian de 10gen. Cela semble fonctionner parfaitement avec Ubuntu 15.04.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-org

Source: Comment installer MongoDB 2.6 sur Ubuntu 14.10, 14.04 et 12.04 LTS

    
réponse donnée Tom Spencer 16.06.2015 - 11:40
la source
0

Alors que la question concerne la version 2.6. J'obtenais exactement la même erreur Unit mongod.service failed to load dans mon Ubuntu 15.04 pour la version 3.0.6. Finalement résolu en utilisant le même référentiel Wheezy mentionné par Dielson Sales ci-dessus.

Après l’installation (en suivant les étapes détaillées par @Dielson Sales), vous avez rencontré l’erreur ci-dessus. Voici comment j'ai finalement résolu.

A) Modifiez les fichiers de magasin de données par défaut de MongoDB de / var / lib / mongodb en / data / db

  • Commencez par créer le nouveau répertoire / data / db sudo mkdir -p /data/db

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

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

  • Supprimez l’ancien fichier par défaut / var / lib / mongodb

  • Maintenant, il faut que tous les répertoires / fichiers appartenant à l'utilisateur mongod

B) Exécutez donc sudo chown -R mongodb:mongodb /data/db

Et enfin, je peux lancer mongo avec sudo service mongod start

Et vérifiez que le service est en cours d'exécution avec sudo systemctl status mongod - Il devrait afficher un message similaire à 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 du blog

    
réponse donnée Rohan_Paul 03.09.2015 - 02:38
la source
0

Premièrement, téléchargez mongodb:

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

extrait le téléchargement:

tar -zxvf mongodb-linux-x86_64-3.0.6.tgz

exécutez le mongod (mongodb-linux-x86_64-3.0.6.tgz / bin / mongod) avec l'attribut -dbpath:

sudo ./mongod --dbpath /path/of/the/directory

Ce peut être un répertoire vide de votre choix

et enfin, lancez mongo (mongodb-linux-x86_64-3.0.6.tgz / bin / mongo)

./mongo

a travaillé sur mon ubuntu 15 :)

désolé pour mon mauvais anglais, je vis au Brésil

    
réponse donnée Augusto José Miranda Amaral 08.09.2015 - 14:58
la source
0

Après des heures de recherche, la solution consistait à mettre à niveau mon ubuntu de 15.04 à 16.04 à l’aide de cette commande:

Étape 1

sudo do-release-upgrade -d 

Cela prendra quelques minutes, alors ne paniquez pas, vous devez supprimer mongodb:

Étape 2

sudo apt-get purge mongodb-org 
sudo apt-get autoremove'  
rm /etc/apt/sources.list.d/mongodb-org-3.0.list'  

Et maintenant, installez mongodb mais en utilisant cette source:

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

Étape 3

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 mongodb-org
sudo service mongod status

Et c'est tout.

Remarque: Si vous obtenez une erreur comme 'E: le type' deb 'dans la première ligne. . . dans le fichier mongodb-org-3.0.list

tout ce que vous avez à faire est d’afficher ce fichier en utilisant gedit et de supprimer le début et la fin de la phrase.

    
réponse donnée أبو محمد حازم 03.01.2016 - 07:13
la source
0

Ubuntu 15.04+ utilise systemd au lieu de upstart . Commencez avec le guide d'installation officiel de MongoDB . Ensuite, utilisez leur mongod.service officiel:

[Unit]
Description=High-performance, schema-free document-oriented database

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/local/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid

[Install]
WantedBy=multi-user.target

Téléchargez, corrigez, installez le service et installez dir + permissions

$ curl -OL https://raw.githubusercontent.com/mongodb/mongo/1663f45b4e33e058a0203a81f50574a870882c34/rpm/mongod.service
$ sed -i 's/\/usr\/local/\/usr/g' mongod.service
$ sed -i '/Desc/a After=network.target' mongod.service
$ sudo sed -i '0,/\/var\/lib\/mongodb/s//\/data\/db/' /etc/mongod.conf
$ sudo cp mongod.service /lib/systemd/system/mongo.service
$ sudo mkdir -p /data/db
$ sudo chown -R mongodb:mongodb /data
$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod

Démarrer le service

$ sudo systemctl start mongod

Vérifier le statut du service

$ sudo systemctl status mongod
    
réponse donnée A T 03.02.2016 - 06:21
la source
0

Vous avez fait une faute de frappe dans votre commande.

Essayez plutôt d'utiliser ceci: sudo service mongodb start

    
réponse donnée erdem karayer 04.05.2016 - 15:24
la source

Lire d'autres questions sur les étiquettes