52 votes

MongoDB 2.6 ne démarre pas sur Ubuntu 15.04

I a installé MongoDB 2.6 sur Ubuntu 15.04 installé proprement :

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

Elle s'est terminée sans problème. Cependant, lorsque j'ai essayé de le démarrer, j'ai obtenu 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 ?

65voto

Avery Payne Points 1325

Je l'ai installé à partir du site dépôt debian wheeze et cela fonctionne bien.

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

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

Supprimez l'ancienne liste mongodb.list que vous avez créée :

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

Mettez à jour et installez à nouveau :

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

o

systemctl start mongod

(comme l'a précisé Ernie Hershey en réponse au commentaire de Roman Gaufman ici) : https://jira.mongodb.org/browse/SERVER-17742 )

24voto

Zippo Points 353

L'équipe MongoDB indique qu'elle ne supportera pas Ubuntu 15.04 et prévoit de supporter 16.04 à la place (voir https://jira.mongodb.org/browse/SERVER-17742 ).

Ubuntu 15.04 change le système d'initialisation par défaut de Upstart à 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

Redémarrez ensuite et MongoDB devrait être opérationnel.

J'espère trouver un moyen simple de faire fonctionner MongoDB sur Ubuntu 15.04 sans avoir à remonter le temps.

4voto

JdeBP Points 3787

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

(Il n'y a pas de pénurie de mongodb.service les fichiers d'unité sur le WWW. Il n'est pas non plus difficile d'en écrire un. Je l'ai fait).

Plus précisément : vous trouverez une telle unité de service en le paquet mongodb-server version 2.6 pour Ubuntu version 15 . Il suffit donc d'installer ce paquet.

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

Pour en savoir plus

4voto

benileo Points 165

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

https://gist.github.com/benileo/ada486d73f58dd93a0ee

Veillez à définir votre répertoire de données dans /etc/mongod.conf

1voto

Sudhanshu Points 446

N'est-ce pas la meilleure réponse ? A partir d'une question dupliquée : https://askubuntu.com/a/694226/255468 par @sclausen


C'est juste l'absence d'un fichier de service pour systemd. Il n'est pas nécessaire de revenir à upstart comme l'a fait Kartik ou d'utiliser un dépôt différent de celui décrit dans le document https://docs.mongodb.org/manual/installation/ .

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X