web-dev-qa-db-fra.com

MongoDB 3.0.2 ne démarre pas après la mise à niveau vers Ubuntu 15.10

J'ai récemment mis à niveau vers Ubuntu 15.10 après quoi MongoDB 3.0.2 ne démarre pas.

$ Sudo service mongod start

ce qui jetterait une erreur:

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

14
Kartik

C'est simplement l'absence d'un fichier de service pour Systemd. Nul besoin de revenir à la situation actuelle comme Kartik ou d'utiliser un référentiel différent de celui décrit dans 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
21
sclausen

Cette erreur est due au problème rencontré avec la nouvelle Ubuntu (15 ans et plus).

Le système init par défaut est systemd qui était pstart précédemment. Vous devez donc installer Upstart, redémarrer votre système et voilà, vous pouvez maintenant exécuter le service mongodb.

  • Installer Upstart

Sudo apt-get install upstart-sysv

  • Redémarrez votre système

Sudo service mongod start

mongod start/running, process 3371

12
Kartik

J'ai utilisé le paquet debian dans Ubuntu 15.10

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
5

J'ai eu des problèmes similaires après la mise à niveau vers 15.10.

Il pourrait y avoir beaucoup de problèmes, mais en fonction de la cause de votre problème, vous pourrez peut-être faire fonctionner votre mongodb via init.d:

Sudo /etc/init.d/mongodb start

Cela a fonctionné pour moi, mais pas une solution à long terme puisque vous devez l'exécuter après chaque redémarrage ou l'ajouter à vos tâches de démarrage. Alors j'ai suivi ce qui suit:

1) créer le fichier de service comme expliqué par 'sclausen'.

2) recharger le service en exécutant:

Sudo systemctl daemon-reload

3) a lancé Sudo service mongodb start

4) La commande a été exécutée sans sortie. J'ai donc testé en exécutant mongo et j'ai obtenu une erreur de socket:

Error: connect ECONNREFUSED 127.0.0.1:27017 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)

5) J'ai parcouru les journaux tail -n 50 /var/log/mongodb/ et découvert l'erreur sous-jacente:

2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted

6) supprimé le fichier de socket problématique: Sudo rm /tmp/mongodb-27017.sock comme suggéré sur ce fil de discussion: https://stackoverflow.com/questions/29813648/failed-to-unlink-socket-file-error-in- mongodb-3-0

7) re exécuté le service: Sudo service mongodb start

à ce moment-là, tout était bon et Bob a retrouvé sa position légitime d'oncle.

1
Shakus

Dans mon cas, j'ai Ubuntu 16.04.1, j'installais MongoDB 3.2.11 et j'obtenais la même erreur. Après plusieurs nettoyages et tentatives, cela a finalement fonctionné "permettant" au service:

systemctl enable mongod.service

Alors ça a juste fonctionné

0
Luis Lobo Borobia