GNU/Linux >> Tutoriels Linux >  >> Linux

Le service MongoDB ne démarre pas après la configuration initiale

J'ai passé un certain temps à regarder cela, et il semble que le dossier pid et les autorisations de fichiers ne fonctionnent pas avec le démon par défaut.

La solution la plus simple que j'ai rencontrée est de désactiver le fichier pid en mettant simplement un # devant la ligne dans le fichier de configuration.

vi /etc/mongod.conf

trouvez la ligne qui dit pidfilepath=/var/run/mongodb/mongod.pid et modifiez-la en conséquence.

# pidfilepath=/var/run/mongodb/mongod.pid

Pour plus d'informations sur ce que le commentaire fait, vérifiez ici.http://docs.mongodb.org/manual/reference/configuration-options/#processManagement.pidFilePath


Si vous démarrez mongod en tant que service en utilisant :

démarrage du service sudo mongod

Assurez-vous que les répertoires définis pour logpath, dbpath et pidfilepath dans votre mongod.conf existent et appartiennent à mongod:mongod.


J'ai le même problème, je l'ai résolu temporairement, en désactivant SELinux, en redémarrant la machine, en éliminant mongod.lock :

#rm /var/lib/mongo/mongod.lock

En créant le fichier /var/run/mongodb/mongo.pid (comme mentionné dans le fichier de configuration /etc/mongod.conf) :

#mkdir /var/run/mongodb
#touch /var/run/mongodb/mongod.pid

et donnant 777 permissions :

#chmod 777 /var/run/mongodb/mongod.pid 

et démarrer mongo :

#service mongod start

Mais le problème persiste après redémarrage de la machine. Le dossier et le fichier disparaissent.


Ce qui a fonctionné pour moi sur Fedora 20 :nous devons créer le répertoire temporaire à chaque démarrage, et cela est géré par systemd-tmpfiles. Alors, créez un fichier /lib/tmpfiles.d/mongodb.conf et mettez-y une ligne :

d /var/run/mongodb 0755 mongod mongod

Cela semble le gérer lors des redémarrages; si vous ne voulez pas redémarrer tout de suite, vous pouvez l'exécuter avec :

sudo systemd-tmpfiles --create mongodb.conf

(Voir les pages de manuel pour systemd-tmpfiles)


Linux
  1. Linux - Modifier /proc/pid/environ après le démarrage du processus ?

  2. systemctl :commande introuvable

  3. Systemd :Utiliser à la fois After et Requires

  4. Comment démarrer un service systemd après la connexion de l'utilisateur et l'arrêter avant la déconnexion de l'utilisateur

  5. PHP-FPM ne démarre pas automatiquement après le redémarrage

Échec du démarrage de MongoDB - *** abandon après l'échec de fassert()

Démarrez Ubuntu 16.04 en ligne de commande / ne démarrez pas l'interface graphique

systemctl arrête le service Tomcat immédiatement après le démarrage

changer /proc/PID/environ après le démarrage du processus

Impossible de démarrer mongodb en tant que service - Exception ; La collection n'a pas d'UUID dans KVCatalog

Upstart :démarrer le service après un processus non-upstart