En essayant d'exécuter la commande
mongod --fork --logpath /var/log/mongodb.log
Sur une instance Amazon ec2 32 bits (Amazon Linux AMI version 2014.09), je rencontre l'erreur suivante:
2015-02-18T18:14:09.007+0000
2015-02-18T18:14:09.007+0000 warning: 32-bit servers don't have journaling
enabled by default. Please use --journal if you want durability.
2015-02-18T18:14:09.007+0000
about to fork child process, waiting until server is ready for connections.
forked process: 17116
ERROR: child process failed, exited with error number 1
Je remarque également qu'aucun fichier journal n'est créé dans le processus.
J'ai eu la même chose et il s'est avéré être un problème d'autorisations. Si le propriétaire du processus enfant ne peut pas accéder au chemin du journal ou s'il n'existe pas, le processus échouera.
Ce que j'ai fait a été mis le répertoire du journal dans mon répertoire personnel:
mkdir ~/log
mongod --fork --logpath ~/log/mongodb.log
Si vous voulez vraiment le mettre dans votre répertoire/var/log, changez simplement les permissions.
Pour toute autre personne rencontrant cette erreur [même si vous l'exécutez avec Sudo], assurez-vous d'indiquer le nom de fichier du fichier journal comme suit: /var/log/mongodb.log. Je n'avais que le chemin du répertoire comme dans/var/log/car je manque de lire la documentation de mongo.
J'ai aussi eu la même erreur, mais j'ai utilisé Sudo et exécuté Sudo mongod --fork --logpath /var/log/mongodb.log
. Comme @jryancanty l'a mentionné, il s'agit simplement d'une erreur d'autorisation.
J'ai supprimé vieux
/var/run/mongodb/mongod.pid
et tout a fonctionné.
Si vous avez un fichier de clé, il est également possible que les autorisations soient trop ouvertes. Assurez-vous de le définir sur 0400
J'ai mal défini le chemin du journal sur var/mongodb/db/mongo.log au lieu de /var/mongodb/db/mongo.log afin que Mongo tente d'accéder à un dossier inexistant dans/home.
cela pourrait fonctionner si vous rencontrez des problèmes avec /tmp/mongodb-27017.sock dans le fichier journal
Sudo chown mongodb: mongodb /tmp/mongodb-27017.sock
Sudo mongod --fork --logpath /var/log/mongodb.log
Dans Ubuntu pas besoin de changer les autorisations dans/var, utilisez le nom complet du fichier journal dans logpath
J'ai eu les mêmes problèmes en raison de l'autorisation de l'utilisateur. Lorsque je me suis connecté à Ubuntu avec un utilisateur qui n'a pas l'autorisation de créer un fichier, cette erreur s'est également produite.
Donc, vous devez exécuter la commande avec Sudo. :)
J'ai le même problème après avoir retiré mongo du repo EPEL (2.x) et installé mongo à partir du mongo repo (4.x).
journalctl -xe dit:
ERROR: child process failed, exited with error number 1
Dans mon cas, j’ai un ancien fichier journal avec les autorisations root . Il suffit de définir l’autorisation correcte ou de supprimer le journal et de vérifier l’autorisation du répertoire des journaux.