servicio - ¿Por qué obtener el error mongod muerto pero los subsiste bloqueados y el espacio libre insuficiente para los archivos de diario en Linux?
mongodb no se reconoce como un comando interno o externo (6)
He instalado mongo-10gen mongo-10gen-server en el servidor Linux CentOS.
Seguí los pasos de Link .
He configurado /etc/mongod.conf como -
logpath=/var/log/mongo/mongod.log
port=27017
dbpath=/var/lib/mongo
He configurado el puerto 27017 para mongo en iptables . Para iniciar mongo, usé comandos -
service mongod start and
mongo
Empieza bien, pero después de algunos días recibo el error -
Tue Jan 29 08:41:54 [initandlisten] ERROR: Insufficient free space for journal files
Tue Jan 29 08:41:54 [initandlisten] Please make at least 3379MB available in /var/lib/mongo/journal or use --smallfiles
Tue Jan 29 08:41:54 [initandlisten]
Tue Jan 29 08:41:54 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Tue Jan 29 08:41:54 dbexit:
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to close listening sockets...
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to flush diaglog...
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to close sockets...
Tue Jan 29 08:41:54 [initandlisten] shutdown: waiting for fs preallocator...
Tue Jan 29 08:41:54 [initandlisten] shutdown: lock for final commit...
Tue Jan 29 08:41:54 [initandlisten] shutdown: final commit...
Tue Jan 29 08:41:54 [initandlisten] shutdown: closing all files...
Tue Jan 29 08:41:54 [initandlisten] closeAllFiles() finished
Tue Jan 29 08:41:54 [initandlisten] journalCleanup...
Tue Jan 29 08:41:54 [initandlisten] removeJournalFiles
Tue Jan 29 08:41:54 [initandlisten] shutdown: removing fs lock...
Tue Jan 29 08:41:54 dbexit: really exiting now
Cuando ejecuto el comando -
service mongod status
Da error -
mongod dead but subsys locked
Ayúdame a resolver el problema de mongod dead pero subsys locked y Insufficient free space for journals, terminating
Comience la instancia de mongod
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 había comenzado correctamente al revisar 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 de 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
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
Entonces 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
Documentation para el parámetro smallfiles :
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.
Solo una nota, que me ayudó. Aunque no hubo ningún problema técnico relacionado con mongo. Era solo que el espacio del sistema era insuficiente. Limpiar el caché del sistema funcionó para mí y mongo volvió corriendo sin problemas.
yum clean all
primero
cd /usr/local/src/mongo/bin/<br>
entonces
./mongod --dbpath /usr/local/src/mongo/data/db/ --smallfiles
Para cualquier persona que tenga este problema a pesar de tener suficiente espacio para que se cree el archivo del diario.
Mi problema: tenía espacio más que suficiente para crear el archivo de diario. Mongo me dio un problema de conexión fallida. Usé kill command para matar el proceso de mongod que a su vez me dio el problema del subsistema. Esto es lo que funcionó para mí:
Vaya a /var/lock/subsys
y elimine el archivo mongod
ahora el service mongod stop
y luego el service mongod start
Comenzó mongo shell ahora y todo parece funcionar bien.