web-dev-qa-db-fra.com

Le service Mongodb ne redémarre pas après avoir été arrêté

Actuellement, je ne peux pas démarrer mongodb avec la commande habituelle Sudo service mongodb start. Quand je fais ça, je reçois quelque chose comme:

mongodb start/running, process 23387

cependant, aucun processus de ce type n'est en cours d'exécution par la suite et le journal mongodb n'affiche rien de nouveau. Cependant, mongodb démarre au redémarrage et peut être arrêté avec Sudo service mongodb stop.

C'est plus un inconvénient qu'un bloqueur de jeu, mais je suis intriguée - que se passe-t-il ??

2
drevicko

Il s’est avéré que start-stop-daemon (utilisé par le script init) est conscient des autres instances de mongodb que j’exécutais à partir d’une ligne de commande. Quand j'ai arrêté ces instances, j'ai pu démarrer mon principal mongodb normalement.

Une solution plus permanente consiste à indiquez à start-stop-daemon de créer un fichier pid et vérifiez-le lorsque vous déterminez si mongodb est déjà en cours d'exécution. Avec mon installation ubuntu par défaut (1: 2.0.6-1ubuntu4), le script init ne vérifie que si l'exécutable mongodb est en cours d'exécution (recherchez --exec /usr/bin/mongod dans /etc/init/mongodb.conf).

Pour mémoire, ce fil parle de ce problème et cette question parle d'une situation quelque peu similaire.

2
drevicko

Une autre probabilité; Lorsque nous installons et vérifions monggodb à l'aide de Sudo, les répertoires mongodb peuvent être créés par "racine" par erreur.

Vérifiez donc les répertoires en utilisant les commandes ll /var/lib/mongodb et ll /var/log/mongodb.

Si le propriétaire apparaît comme root changez le propriétaire comme mongodb en utilisant Sudo chown mongodb:mongodb /var/lib/mongodb -R

J'ai vécu!

0
efkan