No se pudo conectar al servidor 127.0.0.1:27017

Me aparece el siguiente error:

alex@alex-K43U:/$ mongo MongoDB shell version: 2.2.0 connecting to: test Thu Oct 11 11:46:53 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91 exception: connect failed alex@alex-K43U:/$ 

Esto es lo que sucede cuando bash comenzar mongodb:

 * Starting database mongodb [fail] 

Ya probé mongo --repair

Hice chown y chmod para var, lib, y data / db y log mongodb.

No estoy seguro de qué más hacer. ¿Alguna sugerencia?

mongodb.log:

 ***** SERVER RESTARTED ***** Thu Oct 11 08:29:40 Thu Oct 11 08:29:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. Thu Oct 11 08:29:40 Thu Oct 11 08:29:41 [initandlisten] MongoDB starting : pid=1052 port=27017 dbpath=/var/lib/mongodb 32-bit host=alex-K43U Thu Oct 11 08:29:41 [initandlisten] Thu Oct 11 08:29:41 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data Thu Oct 11 08:29:41 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations Thu Oct 11 08:29:41 [initandlisten] ** with --journal, the limit is lower Thu Oct 11 08:29:41 [initandlisten] Thu Oct 11 08:29:41 [initandlisten] db version v2.2.0, pdfile version 4.5 Thu Oct 11 08:29:41 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207 Thu Oct 11 08:29:41 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49 Thu Oct 11 08:29:41 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" } Thu Oct 11 08:29:41 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/var/lib/mongodb/journal" ************** Unclean shutdown detected. Please visit http://dochub.mongodb.org/core/repair for recovery instructions. ************* Thu Oct 11 08:29:41 [initandlisten] exception in initAndListen: 12596 old lock file, terminating Thu Oct 11 08:29:41 dbexit: Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close listening sockets... Thu Oct 11 08:29:41 [initandlisten] shutdown: going to flush diaglog... Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close sockets... Thu Oct 11 08:29:41 [initandlisten] shutdown: waiting for fs preallocator... Thu Oct 11 08:29:41 [initandlisten] shutdown: closing all files... Thu Oct 11 08:29:41 [initandlisten] closeAllFiles() finished Thu Oct 11 08:29:41 dbexit: really exiting now 

EDITAR:

Quité el locking y luego hice la reparación mongod y obtuve este error:

 Thu Oct 11 12:05:37 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating 

así que lo hice con sudo:

 alex@alex-K43U:~$ sudo mongod --repair Thu Oct 11 12:05:42 Thu Oct 11 12:05:42 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. Thu Oct 11 12:05:42 Thu Oct 11 12:05:42 [initandlisten] MongoDB starting : pid=5129 port=27017 dbpath=/data/db/ 32-bit host=alex-K43U Thu Oct 11 12:05:42 [initandlisten] Thu Oct 11 12:05:42 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data Thu Oct 11 12:05:42 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations Thu Oct 11 12:05:42 [initandlisten] ** with --journal, the limit is lower Thu Oct 11 12:05:42 [initandlisten] Thu Oct 11 12:05:42 [initandlisten] db version v2.2.0, pdfile version 4.5 Thu Oct 11 12:05:42 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207 Thu Oct 11 12:05:42 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49 Thu Oct 11 12:05:42 [initandlisten] options: { repair: true } Thu Oct 11 12:05:42 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal" Thu Oct 11 12:05:42 [initandlisten] finished checking dbs Thu Oct 11 12:05:42 dbexit: Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close listening sockets... Thu Oct 11 12:05:42 [initandlisten] shutdown: going to flush diaglog... Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close sockets... Thu Oct 11 12:05:42 [initandlisten] shutdown: waiting for fs preallocator... Thu Oct 11 12:05:42 [initandlisten] shutdown: closing all files... Thu Oct 11 12:05:42 [initandlisten] closeAllFiles() finished Thu Oct 11 12:05:42 [initandlisten] shutdown: removing fs lock... Thu Oct 11 12:05:42 dbexit: really exiting now 

Pero aún teniendo el mismo problema.

El registro indica que mongodb está terminando porque hay un archivo de locking antiguo.

Si no está ejecutando el diario y no lo está ejecutando, elimine el archivo de locking, ejecute la reparación y vuelva a iniciar mongodb.

Si está encendido o estaba ejecutando el registro por diario, consulte los documentos de Mongo DB pertinentes . Tenga en cuenta que dicen “Si está ejecutando Journaling, no debe reparar para recuperar un estado coherente”. Entonces, si escribía un diario, la reparación puede haber empeorado las cosas.

 Step 1: Remove lock file. sudo rm /var/lib/mongodb/mongod.lock Step 2: Repair mongodb. sudo mongod --repair Step 3: start mongodb. sudo start mongodb or sudo service mongodb start Step 4: Check status of mongodb. sudo status mongodb or sudo service mongodb status Step 5: Start mongo console. mongo 

¿ mongod antes de correr mongo ?

Seguí las instrucciones de instalación para mongodb desde http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ y tuve el mismo error que solo cuando ejecuté mongo antes de ejecutar realmente el proceso mongo con mongod Pensé que la instalación de mongodb también lo lanzaría, pero debe iniciarlo manualmente con mongod antes de hacer cualquier otra cosa que necesite mongodb.

Esto es porque el proceso de mongod está inactivo, debes ejecutar los comandos a continuación para iniciar el proceso de mongod:

 sudo service mongodb stop sudo rm /var/lib/mongodb/mongod.lock sudo mongod --repair --dbpath /var/lib/mongodb sudo mongod --fork --logpath /var/lib/mongodb/mongodb.log --dbpath /var/lib/mongodb sudo service mongodb start 

Espero que esto te ayude.

Tratar

 sudo service mongodb start 

Esto resolvió mi problema.

Compruebe el espacio libre del sistema de archivos y auméntelo si es menor. Esto también podría hacer que el mongo no comience. Compruebe el archivo /var/log/mongodb/mongodb.log.

 ERROR: Insufficient free space for journal files Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles 

Intenta ejecutar mongod antes de mongo .

sudo /usr/sbin/mongod en mi opensuse

Esto resolvió mi problema,

así que primero tienes que eliminar el archivo mongod.lock por debajo del comando

 sudo rm /var/lib/mongodb/mongod.lock 

y luego reinicie el servicio mongo emitiendo un comando debajo

 sudo service mongod restart 

Puede consultar con netstat -anp | grep 27017 netstat -anp | grep 27017 para ver si el puerto está siendo utilizado por otro proceso.

Esto funcionó para mí:

 sudo rm /var/lib/mongodb/mongod.lock sudo service mongodb restart 

En windows ejecute cmd como administrador:

  1. Crear directorio:

    mkdir c: \ mongo \ data \ db

  2. Instalar servicio:

    mongod.exe –install –logpath c: \ mongo \ logs –logappend –bind_ip 127.0.0.1 –dbpath c: \ mongo \ data \ db –directoryperdb

  3. Inicie MongoDB:

    net start MongoDB

4. Inicie Mongo Shell:

 c:\mongo\bin\mongo.exe 

Esta solución funciona bien para mí

Seguí el documento en http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/ .

Después de configurar y reiniciar, sudo service mongod start y obtuve ... [FAILED] .

Por fin, descubrí que mongod había comenzado. Creo que la yum install agregó al inicio automático.

Para verificar si su mongod está ejecutando: service mongod status .

Espero que esto pueda ayudar a alguien a tener el mismo problema.

Después de un bash frecuente finalmente tengo que solucionar el problema …

 Step 1: ps aux | grep mongo Step 2: sudo rm /var/lib/mongodb/mongod.lock Step 3: sudo mongod --repair Step 4: mongo 

Este error podría deberse a la configuración IP del enlace de MongoDB. Puede verificar el archivo de configuración de MongoDB

 $ sudo vi /etc/mongodb.conf 

En mi caso, la IP de enlace se establece en la dirección de intranet del servidor, tal como se muestra a continuación:

 bind_ip = 10.10.1.14 #port = 27017 

Así que le he dado a mongo un parámetro de IP para conectarse a shell por tipo:

 $ mongo 10.10.1.14 

No olvide reiniciar el servicio de mongodb si cambió la configuración.

Tengo mongo versión 3.2.1 y tuve que eliminar el archivo de locking de /data/db/ y después de esto, ejecuté mongod y comenzó correctamente.

 >rm /data/db/mongod.lock >mongod 

Para referencia futura, siga estos pasos para evitar errores similares:

1. Descargar MondoDB https://www.mongodb.com/

2. Abre una terminal y un CD en tu carpeta de descargas o en la carpeta donde hayas guardado la descarga de mondodb (asegúrate de extraer la carpeta mongodb antes de hacer clic en ella)

 cd Downloads 

3.Mueva mongodb a su ruta usr / local

 sudo mv mongodb-osx-... /usr/local/mongodb 

4.cd en su carpeta local

 cd /usr/local/mongodb 

5. hacer un nuevo directorio

 sudo mkdir -p /data/db 

6.cd en el nuevo directorio recién creado arriba

 cd /data/db 

7. dar permisos de mongo

 sudo chown YourMacUserName /data/db 

8. Luego ve / abre tu .bash_profile

Para hacerlo, sigue estos pasos:

En tu una nueva terminal

1 . cd 2 .pwd 3 . ls -l

Compruebe si .bash_profile aparece en su lista de archivos en su terminal

si no, crea el -bash_profile

Creando .bash_profile:

En tu terminal

toca .bash_profile

// omita este paso si ya tiene un .bash_profile

Paso 8:

Siguiente en tu terminal:

 open .bash_profile 

Y en su archivo bash que se abre, agregue lo siguiente:

 MONGO_PATH=/usr/local/mongodb export PATH=$PATH:$MONGO_PATH/bin 

Y luego guardar . (Archivo Guardar o comando S / CMD + S)

Paso 9: vuelve a tu terminal :

 source .bash_profile 

Ahora abre dos terminales . Uno para tu mondo daemon el otro para tu mongo .

Terminal 1: en tu tipo de terminal: mongod

 mongodb 

Salida: Terminal de Mongod

Terminal 2:

 mongo 

Salida: Terminal Mongo

Además, asegúrese de no cometer el siguiente error de error al iniciar su mongod en su terminal: Esto es incorrecto

 mongo d 

emite el siguiente error : No se pudo conectar a 127.0.0.1:27017, en (comprobando el socket después del sondeo), razón: Conexión rechazada

Esto es correcto:

 mongod 

(No debe haber espacio entre las palabras mongo y d .. mondod

Finalmente, siempre tenga en cuenta que debe ejecutar mondod antes de ejecutar mongo en sus terminales .

Después de eliminar mongod.lock que estaba dentro del directorio de datos en mi sistema operativo Windows, aún mostraba el mismo mensaje de error. Tuve que ejecutar mongod con –dbpath para hacer que el comando mongo se ejecutara sin errores.

Aunque se reciben las respuestas, me gustaría hablar sobre los errores de red en MongoDB .

Errores de red MongoDB

Establecer las inquietudes de escritura segura no es el método de prueba completo para garantizar que estamos seguros. Supongamos que w=1 & j=true están configurados, ¿qué j=true si el acuse de recibo de escritura no se recibió del servidor? Bueno, la probabilidad es que no sucedió, pero podría haber sucedido. La razón por la que esto podría haber sucedido es que hay errores de red; hay razones por las que no podemos recibir una respuesta afirmativa. Por lo tanto, podemos enviar la solicitud desde la aplicación a través de un controlador del idioma de su elección. mongod puede completarlo con éxito y luego puede haber un restablecimiento de TCP, y la red puede restablecerse de una manera que nunca recibamos respuesta. Entonces, podríamos obtener un error y en el error, podríamos suponer que obtuvimos un error. No sucedió, pero puede suceder.

Para un inserto, es posible evitarlo. Es posible porque si dejamos que el controlador cree el _id y hacemos un inserto, entonces podríamos insertarlo varias veces y sería dañino. Porque, si lo hacemos por primera vez y obtenemos un error y no estamos seguros de si el inserto se completó o no porque es un error de red, entonces podríamos hacerlo de nuevo. Y siempre que lo ejecutemos de nuevo, tyr lo ejecute con el _id exacto. El peor de los casos es que obtendremos un error de clave duplicada cuando intentemos insertarlo.

Sin embargo, una actualización es donde ocurre el problema. Especialmente, la actualización que no es un elemento potente, que por ejemplo incluye un comando $ink . Entonces, le estamos diciendo a la base de datos que incremente un cierto campo. Bueno, en ese caso, si obtenemos un error de red y no sabemos si la actualización ocurrió o no. Ahora, tal vez sepamos lo suficiente acerca de los valores que podemos verificar con ellos que ocurrió la actualización, lo cual está bien. Pero si no conocemos el valor de inicio en la base de datos para ese campo, entonces no nos es posible saber si ocurrió o no en caso de error de red. Este tipo de problemas son extremadamente raros con una red fina.

Y si realmente tenemos que evitarlo a toda costa, lo que tenemos que hacer es activar todas las actualizaciones en insertos, al leer todo el valor del documento fuera de la base de datos y luego eliminarlo e insertarlo de nuevo o simplemente insertarlo uno nuevo.

Las razones por las cuales una aplicación puede recibir un error incluso si la escritura fue exitosa:

  • La conexión TCP de red entre la aplicación y el servidor se restableció después de que el servidor recibió una escritura, pero antes de que se pudiera enviar una respuesta.
  • El servidor MongoDB finaliza entre recibir la escritura y responder a ella.
  • La red falla entre el momento de la escritura y el momento en que el cliente recibe una respuesta a la escritura.

Agregar el bin a PATH en variables de entorno ayudó.

Ruta de instalación de GOTO y copia el ../bin a las variables PATH en variables de entorno en Windows

Jue 11 de Oct. 12:05:42 [initandlisten] No se pueden verificar los archivos de diario debido a: boost :: filesystem:: basic_directory_iterator constructor: Ningún archivo o directorio: “/ data / db / journal” Jue 11 Oct 12:05: 42 [initandlisten] terminado de verificar dbs

Esta línea no contiene ningún archivo o directorio así que crea la carpeta / data / db en la raíz y prueba con “mongod” Espero que esto funcione

escriba windows + r e ingrese lo siguiente

services.msc

iniciar MongoDB

ahora escriba “mongo” en cmd en la ruta respectiva donde mongo.exe está presente, comenzará a funcionar.

1.Crear nueva carpeta en d unidad D: / data / db

2. Abrir el terminal en D: / data / db

3. Escribe mongod y entra.

4. Escribe mongo y entra.

y tu mongodb se enfrentó …………