GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué el error mongod está muerto pero el subsistema está bloqueado y el espacio libre es insuficiente para los archivos de diario en Linux?

Puede agregar lo siguiente al archivo de configuración proporcionado al ejecutar mongod --config mongod.conf

Para MongoDB 3.x (última versión)

storage:
   mmapv1:
      smallFiles: true

Para la versión 2.6+

storage:
   smallFiles: true

Para la versión 2.4 y menos

smallfiles = true

Luego simplemente ejecute mongod para aceptar su archivo de configuración (aquí se supone que la ubicación de la configuración es /etc/mongodb.conf ):

mongod -f /etc/mongodb.conf

Documentación para pequeños archivos parámetro:

Set to true to modify MongoDB to use a smaller default data file size. 
Specifically, smallfiles reduces the initial size for data files and
limits them to 512 megabytes. The smallfiles setting also reduces the
size of each journal files from 1 gigabyte to 128 megabytes.

Inicio mongod instancia usando el siguiente comando

mongod --dbpath /data/db --smallfiles

Estaba siguiendo la guía oficial en http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Después de usar

$sudo service mongod start

Fui a verificar si MongoDB se había iniciado correctamente revisando este registro:

/var/log/mongodb/mongod.log

Este es el problema que encontré:

2014-11-11T12:54:05.808-0500 [initandlisten] ERROR: Insufficient free space for journal files
2014-11-11T12:54:05.808-0500 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
2014-11-11T12:54:05.808-0500 [initandlisten]
2014-11-11T12:54:05.808-0500 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2014-11-11T12:54:05.808-0500 [initandlisten] dbexit:
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close listening sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to flush diaglog...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: waiting for fs preallocator...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: lock for final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: closing all files...
2014-11-11T12:54:05.808-0500 [initandlisten] closeAllFiles() finished
2014-11-11T12:54:05.808-0500 [initandlisten] journalCleanup...
2014-11-11T12:54:05.808-0500 [initandlisten] removeJournalFiles
2014-11-11T12:54:05.814-0500 [initandlisten] shutdown: removing fs lock...
2014-11-11T12:54:05.814-0500 [initandlisten] dbexit: really exiting now

Solución:

Al final del archivo /etc/mongod.conf agregué esta línea:

smallfiles = true

Después de eso, reinicié el servicio mongod:

$sudo service mongod restart

Luego, cuando fui a revisar el registro, me di cuenta de que todo estaba perfecto y el problema se solucionó:

2014-11-11T22:32:20.544-0500 ***** SERVER RESTARTED *****
2014-11-11T22:32:20.552-0500 [initandlisten] MongoDB starting : pid=5200 port=27017 dbpath=/var/lib/mongodb 64-bit host=jaimemontoya-VirtualBox
2014-11-11T22:32:20.552-0500 [initandlisten] db version v2.6.5
2014-11-11T22:32:20.552-0500 [initandlisten] git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
2014-11-11T22:32:20.552-0500 [initandlisten] build info: Linux build8.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-11-11T22:32:20.552-0500 [initandlisten] allocator: tcmalloc
2014-11-11T22:32:20.552-0500 [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb", smallFiles: true }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2014-11-11T22:32:20.564-0500 [initandlisten] journal dir=/var/lib/mongodb/journal
2014-11-11T22:32:20.564-0500 [initandlisten] recover : no journal files present, no recovery needed
2014-11-11T22:32:20.738-0500 [initandlisten] waiting for connections on port 27017
2014-11-11T22:33:20.748-0500 [clientcursormon] mem (MB) res:36 virt:245
2014-11-11T22:33:20.748-0500 [clientcursormon]  mapped (incl journal view):64
2014-11-11T22:33:20.748-0500 [clientcursormon]  connections:0

Linux
  1. 7 consejos de línea de comandos de Linux para ahorrar espacio en archivos multimedia

  2. DistroTest:pruebe los sistemas operativos Linux y Unix en línea de forma gratuita

  3. Linux:¿obtener archivos para la fecha actual en Linux?

  4. Solucione el error Exim:exim está muerto pero el subsistema está bloqueado

  5. 5 software de gestión escolar gratuito y de código abierto para Linux

Los mejores convertidores de video gratuitos para Linux [GUI, CLI y en línea]

Linux busca cadenas en carpetas y archivos con ack

Ahorre espacio comprimiendo archivos y carpetas en Linux

40 comandos git útiles para administradores y desarrolladores de Linux

Introducción e instalación de Slack para Linux

Motrix:un administrador de descargas gratuito y de código abierto para Linux