71 votes

MongoDB se charge mais se casse, renvoyant status=14

Alors, j'essaie de configurer MongoDB sur Ubuntu 16.04 mais je rencontre des problèmes.

lorsque je lance :

sudo systemctl status mongodb

Je reçois ceci :

 mongodb.service - Base de données orientée documents sans schéma à haute performance
   Chargé : chargé (/etc/systemd/system/mongodb.service; désactivé; préréglage du fournisseur : activé)
   Actif : échec (Résultat: code de sortie) depuis Sat 2016-09-10 14:02:22 CEST; il y a 14 secondes
     Docs: https://docs.mongodb.org/manual
  Processus: 8724 ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf (code=exited, status=14)
 Principal PID: 8724 (code=exited, status=14)

selon les docs mongo, status=14 signifie :

"Renvoyé par les applications MongoDB qui rencontrent une erreur irrécupérable, une exception non gérée ou un signal non capturé. Le système se ferme sans effectuer un arrêt propre."

Cela ne me dirige pas vraiment dans une direction particulière.

Mon /etc/systemd/system/mongodb.service ressemble à ceci :

[Unit]
Description=Base de données orientée documents sans schéma à haute performance
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Des idées sur ce qui pourrait être la cause de cela ?

Merci

161voto

xingliang Points 1611

Après avoir fait des recherches sur Google pendant un certain temps, j'ai découvert que cela est dû aux paramètres d'autorisation sur /var/lib/mongodb et /tmp/mongodb-27017.lock qui sont incorrects. Vous devrez changer le propriétaire pour l'utilisateur monogdb

sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock

puis

sudo service mongod restart

10voto

deathrace Points 500

En utilisant ceci, mon erreur a disparu :

  1. Aller dans le répertoire TMP : cd /tmp
  2. Vérifier si vous avez le fichier de socket mongodb : ls *.sock
  3. Changer les permissions utilisateur:groupe : chown mongodb:mongodb
  4. Démarrer MongoDB : sudo service mongod start
  5. Vérifier le statut de MongoDB : sudo service mongod status

6voto

Siroshan c-ro Points 61

Supprimer le fichier sock mongod a résolu le problème pour moi sudo rm -rf /tmp/mongodb-27017.sock puis recommencer sudo systemctl start mongod

4voto

Shashank Saxena Points 141
  1. Vérifiez les deux répertoires mentionnés S'ils n'existent pas, utilisez les commandes suivantes :

    sudo mkdir /var/lib/mongodb sudo mkdir /var/log/mongodb sudo chown -R mongodb:mongodb /var/lib/mongodb sudo chown -R mongodb:mongodb /var/log/mongodb

  2. Effacez le socket avec la commande suivante :

    chown mongodb:mongodb /tmp/mongodb-27017.sock

  3. Redémarrez et vérifiez le statut du service :

    sudo service mongod restart

2voto

J'ai essayé ceci et cela a fonctionné :

sudo nano /etc/mongod.conf

commenter la ligne "bind ip".

sudo mongod --auth --port 27017 --dbpath /data/db

puis j'ai exécuté

sudo service mongod restart

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