78 votes

MongoDB ne démarre pas après une panne de serveur

Mon ordinateur Ubuntu est tombé en panne, et lorsque je l'ai redémarré, MongoDB ne fonctionnait pas. J'ai essayé les commandes suivantes, et j'ai obtenu le résultat suivant :

$ mongo
Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed

$ service mongodb status
mongodb stop/waiting

$ service mongodb restart
stop: Unknown instance: 
start: Rejected send message, 1 matched rules; type="method_call",
       sender=":1.57" (uid=1000 pid=2227 comm="start mongodb ")
       interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)"
       requested_reply="0"
       destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

$ tail /var/log/mongodb/mongodb.log
[initandlisten] exception in initAndListen: 12596 old lock file, terminating
dbexit: 
[initandlisten] shutdown: going to close listening sockets...
[initandlisten] shutdown: going to flush diaglog...
[initandlisten] shutdown: going to close sockets...
[initandlisten] shutdown: waiting for fs preallocator...
[initandlisten] shutdown: closing all files...
[initandlisten] closeAllFiles() finished
dbexit: really exiting now

(Sortie reformatée pour correspondre à la mise en page du site web).

Que s'est-il passé ? Comment puis-je le réparer ?

0voto

Jage Points 4889

Ce n'est probablement pas la meilleure solution, mais si vous êtes désespéré, vous pouvez essayer ceci. Il semblait que seul le journal était un problème pour moi, alors j'ai pris ces mesures :

  1. Créer un nouveau répertoire de données . Possiblement /var/lib/mongodb2
  2. Mettez à jour votre mongod.conf pour pointer vers le nouveau répertoire de données.
  3. Début mongoDB.
  4. S'il démarre avec succès, alors vous pouvez éteindre à nouveau mongo et continuer, sinon vous pouvez arrêter de lire ici.
  5. Localisez vos données précédentes et copier les fichiers de votre/vos base(s) de données vers votre nouveau répertoire de données (exemple, admin.0 admin.1 admin.ns, etc)
  6. Démarrer mongoDB à nouveau (en utilisant toujours le nouveau répertoire de données)

Après avoir effectué ces étapes (moins de 5 minutes), j'étais opérationnel et toutes les données semblaient correctes.

0voto

Keijo Points 1

Merci les gars. Nous avons également été confrontés à un problème où MongoDB redémarrait sans cesse et se plaignait de ce qui suit ancien fichier de verrouillage . J'ai arrêté MongoDB dans la liste des services de Windows, puis j'ai supprimé le fichier mongod.lock dossier. Après cela, j'ai pu démarrer le service MongoDB correctement et cela a bien fonctionné.

0voto

Hemant Thorat Points 715

Suppression de .lock à partir du répertoire de données de Mongo dbpath fonctionne pour moi.

Par exemple sudo sudo rm {data-directory}/mongod.lock

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X