ubuntu - start - por qué no puedo comenzar el mongodb
start mongodb linux (7)
este es el error:
(mysite)zjm1126@zjm1126-G41MT-S2:~$ /usr/local/mongodb/bin/mongod
/usr/local/mongodb/bin/mongod --help for help and startup options
Wed Apr 27 10:02:41 [initandlisten] MongoDB starting : pid=2652 port=27017 dbpath=/data/db/ 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
** with --dur, the limit is lower
Wed Apr 27 10:02:41 [initandlisten] db version v1.8.1, pdfile version 4.5
Wed Apr 27 10:02:41 [initandlisten] git version: a429cd4f535b2499cc4130b06ff7c26f41c00f04
Wed Apr 27 10:02:41 [initandlisten] build sys info: Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_37
Wed Apr 27 10:02:41 [initandlisten] exception in initAndListen std::exception: Unable to create / open lock file for lockfilepath: /data/db/mongod.lock errno:13 Permission denied, terminating
Wed Apr 27 10:02:41 dbexit:
Wed Apr 27 10:02:41 [initandlisten] shutdown: going to close listening sockets...
Wed Apr 27 10:02:41 [initandlisten] shutdown: going to flush diaglog...
Wed Apr 27 10:02:41 [initandlisten] shutdown: going to close sockets...
Wed Apr 27 10:02:41 [initandlisten] shutdown: waiting for fs preallocator...
Wed Apr 27 10:02:41 [initandlisten] shutdown: closing all files...
Wed Apr 27 10:02:41 closeAllFiles() finished
Wed Apr 27 10:02:41 [initandlisten] shutdown: removing fs lock...
Wed Apr 27 10:02:41 [initandlisten] couldn''t remove fs lock errno:9 Bad file descriptor
Wed Apr 27 10:02:41 dbexit: really exiting now
Aquí, cómo lo resolví
- Después de eliminar el archivo de bloqueo, lo reparó usando
sudo mongod --repair --config=/etc/mongodb.conf
, después de esto compré el permiso de mongod.lock usandols -l /var/lib/mongodb/mongod.lock
- estaba mostrando que root es el propietario del archivo de bloqueo, así que lo cambié a mongodb usando
sudo chown mongodb:mongodb /var/lib/mongodb/*
- a continuación, reinicie el servicio mongodb utilizando el
sudo service mongodb restart
Asegúrate de que no tienes una instancia de mongod en ejecución.
Esto es lo que funcionó para mí. Verifiqué para ver si había una instancia ejecutándose en segundo plano al buscar en la terminal de esta manera: ps aux | grep mongo
y vi que había: 48358 bla bla mongod
así que lo maté: matar 48358
y luego pude correr bien.
En Mac OSX Yosemite después de la instalación estándar con brew:
sudo chown -R `id -u` /data/db
si no se inicia (verifique si no hay conexiones bloqueadas y bloqueadas):
lsof -i:27017
produce algo como:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 16948 andi 8u IPv4 0x883a71bc9412939d 0t0 TCP *:27017 (LISTEN)
tomar valor de PID
y ejecutar:
kill -9 <PID>
ahora deberías poder iniciar mongo server: mongod
y luego, por ejemplo, en la ventana de la consola por separado, mongod
a él con mongo
La cuenta de usuario que está iniciando MongoDB necesita tener privilegios de escritura en el directorio /data/db/
... puede cambiar esto como ...
Este comando cambiará el propietario de /data/db/
a la cuenta de usuario que se está utilizando.
$ sudo chown `id -u` /data/db
$ mongod
Si todavía tiene problemas con el inicio de MongoDB, debe eliminar /data/db/mongod.lock
y luego ejecutar la reparación en su base de datos ...
mongod --repair
Más sobre el comando de reparación here .
O sudo
la llamada a mongod
o cambie los permisos de /data/db/mongod.lock
para que /data/db/mongod.lock
escribirlo.
Resolví esto haciendo un chown en mongodb, es decir.
sudo chown -R mongodb:mongodb /data
Esto es porque, cuando lo haces
ls -lrth /data
drwxr-xr-x 2 mongodb mongodb 6 Jan 5 02:31 journal
-rwxr-xr-x 1 mongodb mongodb 0 Jan 5 02:31 mongod.lock
drwxr-xr-x 2 ubuntu root 24 May 8 20:02 configdb
Espero que esto ayude.
Si desea rescatar a un miembro de un conjunto de réplicas , no utilice los métodos descritos anteriormente. En su lugar, use los procedimientos descritos en la documentación ReSync de MongoDB .