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 ??
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.
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!