linux - mongod - Errr ''mongo.js: L112 Error: no se pudo conectar con el servidor 127.0.0.1:27017 en src/mongo/shell/mongo.js: L112''
start mongodb on ubuntu (8)
Este método solo funciona si desea reparar sus archivos de datos sin preservar los archivos originales. Para encontrar dónde reside dbpath, use
vim /etc/mongodb.conf
Verifique la opción dbpath=
.
(Tengo dbpath=/var/lib/mongodb
.)
Valor predeterminado: /data/db/
Las ubicaciones típicas incluyen /srv/mongodb
, /var/lib/mongodb
o /opt/mongodb
.
Reemplace el / var / lib / mongodb con su dbpath
sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --dbpath /var/lib/mongodb/ --repair
sudo mongod --dbpath /var/lib/mongodb/ --journal
(Asegúrese de dejar la terminal ejecutándose en la que haya ejecutado las líneas anteriores. No presione Ctrl + C ni la salga). Escriba el comando para iniciar mongo
ahora en otra ventana.
¡Espero que esto funcione para ti! Para aquellos que desean reparar sus archivos de datos mientras conservan los archivos originales, consulte mongo
recover .
No puedo conectarme a MongoDB . En Ubuntu funciona, pero ahora estoy trabajando en CentOS . Este es el mensaje de error:
Versión de shell MongoDB: 2.4.2
conectando a: prueba
Sáb 20 abr. 07: 22: 09.390 Error de ejecución de JavaScript: Error: no se pudo conectar al servidor 127.0.0.1:27017 en src / mongo / shell / mongo.js: L112
excepción: conexión fallida
Traté de eliminar el archivo mongod.lock
, pero no funciona.
Intenta eliminar /var/lib/mongodb/mongod.lock y reinicia el servicio mongdo
sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart
Me enfrenté al mismo problema. Ejecutar mongod inside bin (donde tienes instalado mongodb) funcionó para mí. También tuve espacio insuficiente.
No sé por qué la respuesta de @lkrzysiak fue downvoted: ¡funcionó para mí! El espacio libre insuficiente PUEDE ser la fuente de este error que también obtuve, vea los registros que obtuve:
Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit:
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...
Después de un poco de limpieza para liberar espacio, ¡funcionó como un amuleto!
Podría ser una combinación de $ PATH y un problema de permiso.
Intente seguir los pasos que se detallan a continuación:
Actualice su variable $ PATH para que apunte a su archivo bin de MongoDB. En mi caso brew instale MongoDB en esta carpeta:
/usr/local/Cellar/mongodb/2.4.6/
Para actualizar tu variable $ PATH, haz lo siguiente:
$ sudo vi /etc/paths
A continuación, presione ''i'' para insertar texto en Vi y anexe su ruta MongoDB al final del archivo ''paths'' y reinicie la terminal.
/usr/local/Cellar/mongodb/2.4.6/bin
Use ''Esc: w q'' para guardar y salir del editor Vi.
Use echo para mostrar su variable de ruta:
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin
Ahora intenta verificar la versión de Mongo, si sigues los pasos, entonces estás en el camino correcto.
$ mongo --version
MongoDB shell version: 2.4.6
Ahora tenemos que crear el directorio de la base de datos. Usé la ubicación predeterminada ''/ data / db'' sugerida en los documentos de MongoDB. También creé un directorio de registro para evitar problemas de permisos mientras Mongo intenta crear cualquier registro. Cambie la propiedad y eso hará el trabajo.
$ sudo mkdir /data/db
$ sudo mkdir /data/log
$ whoami
username
$ chown -R username /data
Ahora, crearemos un archivo de configuración predeterminado para MongoDB que se proporcionará por primera vez que ejecutemos el comando ''mongod''. Ahora, también me gustaría señalar que ''mongod'' comenzará un servicio, que escuchará las conexiones de datos entrantes. Esto es similar al ejecutar ''$ service mysqld start''. Sigamos adelante y creamos el archivo de configuración. Tenga en cuenta que he creado un archivo de configuración muy básico. Sin embargo, puede agregar muchas otras variables para configurar MongoDB. Esta es la primera vez que juego con MongoDB, así que sé todo lo que leo en los documentos de MongoDB. Creé ''mongodb.conf''.
$ sudo vi /etc/mongodb.conf
Agregar siguiente:
fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true
Tenga en cuenta que el puerto predeterminado para el servidor MongoDB es 27017. Use su propia ruta para dbpath y logpath que creó en el paso 5. No olvide cerrar y guardar el archivo conf.
Ahora estamos listos para comenzar nuestro servicio MongoDB. Abra dos instancias de Terminal. En la Terminal 1, escriba:
$ sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting
Si obtiene el mensaje anterior, sepa que ha iniciado con éxito su servicio de Mongod.
Ahora, para conectarse, en la Terminal 2 escriba lo siguiente:
$mongo test
MongoDB shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>
Ignora las advertencias, ¡pero estás conectado con éxito a la base de datos de "prueba"! ¡Guay!
Eso es todo. Apliqué esta solución cuando intenté instalar una copia de MongoDB en mi Mac por primera vez. Vea si esto lo ayuda también.
Para una publicación detallada, puede ir aquí: http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094 .
¡Espero que ayude!
Saludos, Chinmay
Si está ejecutando Ubuntu, entonces hay un problema con la propiedad de la carpeta.
Ejecute estos comandos:
Detener el servicio MongoDB
sudo service mongodb stop
Retire el archivo de bloqueo MongoDB
sudo rm /var/lib/mongodb/mongod.lock
Cambiar la propiedad de la raíz a la ruta MongoDB
sudo chown -R mongodb:mongodb /var/lib/mongodb/
Comience el servicio de MongoDB
sudo service mongodb start
Pruebe la aplicación mongo
mongo
Entonces podrás ejecutar con éxito (espero).
También obtiene este error si ha cambiado el puerto predeterminado para mongoDB en /etc/mongo.conf
Para conectarse a través del shell en este caso use:
$mongo 127.0.0.1:your_new_port_number
O
$mongo -u <user> -p <pass> --host <host> --port your_new_port_number
de los documentos de MongoDB
Tuve el mismo problema en el pasado. En mi caso, no tenía suficiente espacio libre para los archivos del diario. Liberar algo de espacio resolvió el problema.