En intentar ejecutar el comando

mongod --fork --logpath /var/log/mongodb.log

En amazon ec2 32 bits instancia (AMI de Amazon Linux versión 2014.09), me encuentro con el siguiente error:

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

También noto ningún archivo de registro se crea en el proceso.

  • ¿/data/db existen? errno 1: #define EPERM 1 /* Operation not permitted */. Eso también explicaría por qué no hay archivo de registro se crea – el usuario no está permitido.
  • Sí, tengo una serie de archivos de base de datos que he estado trabajando en allí también.
  • @mnemosyn ls -al total 245772 drwxr-xr-x 2 ec2-user root 4096 Feb 5 17:14 . drwxr-xr-x 3 root root 4096 Feb 4 17:40 .. -rw------- 1 ec2-user ec2-user 67108864 Feb 5 21:42 brands.0 -rw------- 1 ec2-user ec2-user 16777216 Feb 5 21:42 brands.ns -rw------- 1 ec2-user ec2-user 67108864 Feb 4 22:54 brandsTest2.0 -rw------- 1 ec2-user ec2-user 16777216 Feb 4 22:54 brandsTest2.ns -rw------- 1 ec2-user ec2-user 67108864 Feb 18 17:52 local.0 -rw------- 1 ec2-user ec2-user 16777216 Feb 18 17:52 local.ns -rwxrwxr-x 1 ec2-user ec2-user 0 Feb 18 17:59 mongod.lock
  • Hm, entonces supongo parece estar equivocado. Yo todavía iba a investigar el valor 1 de la ruta…
  • ¿de dónde encontrar los códigos de error? Yo estaba buscando en https://github.com/mongodb/mongo/blob/master/docs/errors.md y no podía ver.
  • Estos son linux códigos de error. He buscado en google, por ejemplo, virtsync.com/c-error-codes-include-errno
  • Has probado a ejecutar el comando sin --fork? ¿Produce un mensaje de error? Si es así, ¿qué? Si no, ¿qué dice en el registro, si se crea uno?
  • Ejecución de mongod funciona bien en su propio. Con el logpath especificado puedo obtener ]$ mongod --logpath /var/log/mongod.log 2015-02-19T01:34:12.656+0000 2015-02-19T01:34:12.656+0000 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. 2015-02-19T01:34:12.656+0000 2015-02-19T01:34:12.657+0000 SEVERE: Failed global initialization: FileNotOpen Failed to open "/var/log/mongod.log"

10 Comentarios

  1. 64

    Tuve la misma cosa y resultó ser un problema de permisos. Si el propietario de el niño el proceso no puede tener acceso al registro de ruta de acceso o la ruta de acceso del registro no existe, se producirá un error.

    Lo que yo hice fue poner el directorio de registro en mi directorio home:

    mkdir ~/log
    mongod --fork --logpath ~/log/mongodb.log

    Si realmente quieres poner en tu directorio /var/log, simplemente cambiar los permisos.

    • Para los que preguntan, he tenido que cambiar los permisos en /var/log a 777
    • usted realmente no debería tener 777 en /var/log hay un montón de datos confidenciales almacenados en el directorio. Trate de cambiar el directorio de perms 740 y crear el archivo de registro de la primera. Encontrar el usuario mongod se ejecuta y chown ese archivo. Luego chmod el archivo con 744. Sólo estoy adivinando aquí, pero apenas alrededor de cualquier permanentes son mejores que los de 777 en /var/log buena suerte
    • Es un buen punto. Tuve que chown el /var/log dir a mi usuario y, a continuación, dar 740 permisos.
    • Que es fascinante. Estaba tirando mi cabeza a la pared. Gracias!
  2. 8

    Para cualquier otra persona que en este error [incluso si se ejecuta con sudo] asegúrese de que el nombre de archivo del archivo de registro como en: /var/log/mongodb.registro. Me acababa la ruta de acceso del directorio, por ejemplo /var/log/desde que echo de menos leer el mongo docs.

  3. 7

    También tuve el mismo error, sin embargo, yo solía sudo y corrió sudo mongod --fork --logpath /var/log/mongodb.log. Como @jryancanty mencionado, es simplemente un error de permisos.

    • Todavía tengo el problema de que, incluso después de usar «sudo»
    • El uso de sudo simplemente cambia el número de error de 1 a 100 para mí.
  4. 1

    He borrado de edad

    /var/run/mongodb/mongod.pid

    y de todos.

    • todavía no funciona !
    • La mina no se ejecutan debido a que falta este archivo :(. Dice Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory
  5. 0

    Si usted tiene un fichero de claves, también es posible que los permisos son demasiado abierto. Asegúrese de que se establezca en 0400

  6. 0

    esto podría funcionar si observa problemas con /tmp/mongodb-27017.calcetín en el archivo de registro

    sudo chown mongodb:mongodb /tmp/mongodb-27017.calcetín

  7. 0

    sudo mongod –tenedor –logpath /var/log/mongodb.registro de

    En ubuntu no es necesario cambiar los permisos en /var, uso completo archivo de registro nombre en logpath

  8. 0

    Tengo el mismo problemas debido a los permisos de usuario , cuando la sesión en ubuntu con el usuario que no tiene permiso para crear el archivo, a continuación, también este error se produzca.

    Así , usted tiene que ejecutar el comando con sudo. 🙂

  9. 0

    He configurado incorrectamente el registro de ruta var/mongodb/db/mongo.registro en vez de /var/mongodb/db/mongo.registro para Mongo estaba tratando de acceder a un inexistente carpeta en /home.

  10. 0

    Tengo el mismo problema después de quitar el mongo de repo EPEL (2.x) e instalar de mongo mongo repo (4.x).

    journalctl -xe dice:

    ERROR: child process failed, exited with error number 1

    En mi caso he antiguo archivo de registro con permisos de root.
    Sólo conjunto de permisos correctos o eliminar registro y verificación del registro de permisos de directorio.

Dejar respuesta

Please enter your comment!
Please enter your name here