not - start mongodb linux
no se pudo conectar al servidor 127.0.0.1 shell/mongo.js (13)
cuando configuro mongodb en mi ubuntu, intento: ./mongo mostrar este error:
couldn''t connect to server 127.0.0.1 shell/mongo.js
entonces Que puedo hacer ,
Gracias
En Ubuntu, prueba esto:
sudo invoke-rc.d mongodb start
Esto no es un error ... Lo que ocurre aquí es que Mongo depende de un daemon para ejecutar el servidor de base de datos local, por lo que para "encender" el servidor mongo en su shell, debe iniciar el servicio de mongo primero.
Para Fedora Linux (que es el Distro que uso), debe ejecutar estos comandos:
1 sudo service mongod start
2 mongo
¡Y ahí lo tienes! el servidor se ejecutará Ahora, si desea que el servicio de Mongo comience cuando el sistema arranque, debe ejecutar:
sudo chkconfig --levels 235 mongod on
¡Y eso es todo! Si haces eso, ahora en el intérprete de comandos solo tienes que escribir mongo para iniciar el servidor, pero eso es más o menos, el problema es que primero tienes que iniciar el SERVICIO y luego el SERVIDOR :)
PD: Los comandos que publiqué también podrían funcionar en otras distribuciones de Linux, no solo en Fedora ... En caso de que no sea así, quizás deba modificar algunas palabras según la distribución que esté utilizando;)
Intentando ejecutar $ mongod
Si obtiene un error como
MongoDB shell version: 2.0.5
connecting to: test
Fri Jun 1 11:20:33 Error: couldn''t connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed
hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun 1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun 1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun 1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun 1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun 1 11:24:47 [initandlisten] options: {}
Fri Jun 1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun 1 11:24:47 dbexit:
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun 1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun 1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun 1 11:24:47 dbexit: really exiting now
Entonces te encuentras con un error de inicio básico que es bastante común.
De manera predeterminada, mongod intentará usar / data / db para sus archivos de base de datos, que en este caso, no existe.
No puedes comenzar
mongo
hasta que manejes
mongod.
Intente crear esos directorios y asegúrese de que el mismo usuario que ejecuta el proceso mongod pueda escribirlos.
O su mongod no se está ejecutando (verifique usando el comando "ps") o está escuchando en alguna dirección IP externa y no en el host local. Entonces, primero verifique la lista de procesos si ''mongod'' se está ejecutando. En caso afirmativo, verifique con "netstat -nap" para el puerto relacionado.
Por supuesto, puede iniciar mongod en la consola manualmente o incluso buscar en el archivo de registro mongod (si hay uno configurado ... dependiendo de cómo instaló mongod).
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
Primero debe asegurarse de que todos los archivos y directorios en su carpeta / var / lib / mongodb / (o cualquier carpeta que señale dbpath) pertenezcan al usuario mongodb y al grupo mongodb.
cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory
(Reemplace el nombre del archivo y el directorio con sus respectivos nombres)
A continuación, puede eliminar el bloqueo, reparar la base de datos y reiniciar el daemon como ya lo mencionaron otras personas:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
Primero, inicie su servidor mongo
Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log
A continuación, abra otra ventana de terminal y abra el shell
Users-MacBook-Pro:csv1 Admin$ mongo
Resolví este problema en ubuntu 12.04 siguiendo los pasos:
1) sudo rm / var / log / mongodb
2) sudo rm / var / lib / mongodb
3) Eliminé mongo y luego lo instalé de nuevo
4) sudo service mongodb restart
y todo está bien
También verifique que su partición raíz tenga suficiente espacio para iniciar mongod.
df -h /
Verás algo así en el lanzamiento de mongod:
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...
Tengo el mismo problema cuando traté de instalar Mongo. Tengo el error como,
Error
"Error: couldn''t connect to server 127.0.0.1 shell/mongo.js:84"
Solución:
Primero instala mongod usando:
sudo apt-get install mongodb-server
Luego escribe
mongod --dbpath /mongo/db
Entonces
sudo rm /var/lib/mongodb/mongod.lock
Entonces
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Gracias
mongod.lock
eliminar el mongod.lock
bloqueo mongod.lock
o /var/lib/mongodb/mongod.lock
en ubuntu, luego debe ejecutar mongod.exe
o service mongodb start
en ubuntu primero, luego ejecute mongo.exe
o mongo
en ubuntu.
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
Aquí está todo, a veces, toma un poco de tiempo para iniciar mongo después de realizar estas operaciones.
- Elimine manualmente el
sudo rm /var/lib/mongodb/mongod.lock
bloqueo:sudo rm /var/lib/mongodb/mongod.lock
- Ejecute el script de reparación:
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Tenga en cuenta lo siguiente:
- Debe ejecutar este comando como el usuario de mongodb. Si lo ejecuta como root, entonces root poseerá los archivos en / var / lib / mongodb / que sean necesarios para ejecutar el daemon mongodb y, por lo tanto, cuando el daemon intente ejecutarlo más tarde como el usuario mongodb, no tendrá permisos para iniciar . En ese caso, obtendrá este error: No se puede crear / abrir el archivo de bloqueo para lockfilepath: /var/lib/mongodb/mongod.lock errno: 13 Permiso denegado, finalización.
- En Ubuntu, debe especificar el archivo de configuración /etc/mongodb.conf usando el indicador -f. De lo contrario, buscará los archivos de datos en el lugar equivocado y verá el siguiente error: dbpath (/ data / db /) no existe, terminando.