start reconoce puedo mongod interno instalar externo como comando cierra mongodb windows-services

reconoce - no puedo instalar mongodb en windows 10



No se puede iniciar MongoDB como un servicio (22)

He estado desarrollando para MongoDB durante algunos meses y me gustaría instalarlo como un servicio en mi máquina Windows 7 Enterprise. El siguiente es el comando que he ejecutado para crear el servicio:

"D:/Milvia Systems/Development/MongoDB/mongod.exe" --logpath "D:/Milvia Systems/Development/MongoDB/logs/DBLog.log" --logappend --dbpath "D:/Milvia Systems/Development/MongoDB/db" -vvv --reinstall

Sin embargo, cada vez que uso net start "MongoDB" o el Panel de control de servicio recibo el siguiente error:

Error 1053: el servicio no respondió a la solicitud de inicio o control de manera oportuna.

Entorno: Windows 7 Enterprise 64bit MongoDB: 1.6.3 versión pdfile 4.5


¿Ha comprobado su registro para ver el problema real?

Sugiero extraer la instalación de Mongo en c:/mongodb .

Cree los c:/mongodb/logs y c:/mongodb/data/db .

A continuación, c:/mongodb/bin directorio c:/mongodb/bin y ejecute lo siguiente para eliminar el servicio (¡si lo ha instalado!):

mongod --remove

Luego instale el servicio, especificando los directorios de registro y datos:

mongod --logpath c:/mongodb/logs/mongo.log --dbpath c:/mongodb/data/db --directoryperdb --install

Entonces, si hay un problema al iniciar el servicio, debería ver el motivo en el archivo de registro especificado.

Más información here .


Acabo de encontrar el mismo problema en mi máquina con Windows 7. Seguí las instrucciones en MongoDBs Docs para la instalación, pero no me permitió ejecutar "net start MongoDB" a menos que estuviera en "C: /". No quería volver y reinstalar MongoDB para seguir las instrucciones incluidas en el enlace de Webiyo mencionado anteriormente. Si ya instaló MongoDB de acuerdo con sus documentos y desea poder ejecutar "net start MongoDB" desde donde sea que esté el directorio de su proyecto:

Vaya a HKEY_LOCAL_MACHINE> SYSTEM> CurrentControlSet> services> MongoDB

Haga doble clic en ImagePath en la columna Nombre

Pegue en el siguiente ImagePath (edite el directorio de la carpeta y los nombres para que coincidan con sus necesidades):

C:/mongodb/bin/mongod.exe --service --rest --master --logpath=C:/mongodb/log/mongolog.txt --dbpath=C:/mongodb/data/db --config C:/mongodb/mongod.cfg

Tenga en cuenta que si copia directamente este valor de ImagePath y su carpeta de "datos" está en el directorio mongodb en lugar de C: / agregue la siguiente línea a su archivo "mongod.cfg": dbpath=C:/mongodb/data/db

Después de hacer esto, cuando ejecuto "net stop MongoDB" recibo el mensaje "Se ha producido el error de sistema 109. La tubería ha finalizado". Puede verlo también. Este mensaje ha sido discutido a fondo en jira.mongodb.org .

Para ahorrarle el tiempo de leer toda la discusión de ida y vuelta, Tad Marshalls lo resume todo:

"... funcionaba bien en la versión 2.1.0, pero los cambios posteriores la volvieron a romper. Pero sí, aparece este mensaje de error en el código actual.

La explicación es que mongod.exe está saliendo de un hilo de devolución de llamada creado por el Administrador de control de servicios de Windows cuando nos llama debido a "net stop mongodb" y esto rompe el conducto RPC que usó para crear el hilo de devolución de llamada. Necesitamos reorganizar nuestra lógica de salida para evitar hacer esto.

El mensaje de error es el único efecto real de este problema; Salimos del comando, limpiamente, e informamos al Administrador de control de servicios de Windows que estamos detenidos, pero luego el comando "net" muestra un mensaje de error porque no regresamos de la llamada RPC como esperaba ".


Bueno, en mi caso, estaba ejecutando poco espacio en disco en mi disco donde tengo mis archivos de datos MongoDB. Revisé el archivo de registros de MongoDB que decía lo siguiente

2015-11-11T21: 53: 54.717 + 0500 E JOURNAL [initandlisten] Espacio libre insuficiente para archivos de diario 2015-11-11T21: 53: 54.717 + 0500 I JOURNAL [initandlisten] Haga que al menos 3379 MB estén disponibles en C: / wamp / bin / mongodb / data / db / journal o use --smallfiles

Todo lo que tenía que hacer era limpiar un poco de espacio y volver a encender el servicio. Funcionó para mí. Entonces, todo lo que tiene que hacer es verificar su archivo de registro y tratar el problema en consecuencia.


Compruebe si su archivo mongod.cfg tiene pestañas. ¡Eliminar las pestañas me lo resolvió!


Compruebe si ya se está ejecutando una instancia de proceso de mongod . En caso afirmativo, este servicio no se iniciará porque C:/data/db/mongod.lock será utilizado por él.

Y para iniciar MongoDB como un servicio, este archivo no debe ser utilizado por ningún proceso.


Después de pasar media hora en la depuración ... finalmente encontré que hay un solo guión antes del atributo "resto".


Ejecuté este comando:

C:/MongoDB/Server/3.4/bin>net start MongoDB

Y recibí este mensaje:

El servicio no responde a la función de control. Para obtener más ayuda, escriba NET HELPMSG 2186.

Después de algunas pruebas y errores, al seguir el tutorial me di cuenta de que debía nombrar mi archivo mongod.conf, pero el comando intentaba hacer referencia a mongod.cfg .

Tan pronto como corregí ese nombre y volví a ejecutar los comandos,

C:/MongoDB/Server/3.4/bin>sc.exe delete MongoDB [SC] DeleteService SUCCESS C:/MongoDB/Server/3.4/bin>sc.exe create MongoDB binPath= "/"C:/MongoDB/Server/3.4/bin/mongod.exe/" --service --config=/"C:/MongoDB/Server/3.4/mongod.cfg/"" DisplayName= "MongoDB" start= "auto" [SC] CreateService SUCCESS C:/MongoDB/Server/3.4/bin>net start MongoDB The MongoDB service is starting.... The MongoDB service was started successfully.

El servicio comenzó a funcionar bien.


Empecé a seguir un tutorial en un blog que requería MongoDB. Tenía instrucciones para descargar y configurar el servicio. Pero por alguna razón, el comando para iniciar el servicio de Windows en ese tutorial no funcionaba. Así que fui a los documentos de MongoDB e intenté ejecutar este comando como figura en mongodb.org-

El comando para strting mongodb service-sc.exe crea MongoDB binPath = "/" C: / MongoDB / bin / mongod.exe / "--service --config = /" C: / MongoDB / bin / mongodb / mongod.cfg / "" DisplayName = "MongoDB" start = "auto"

Recibí este mensaje: [SC] CreateService SUCCESS

Luego ejecuté este: net start MongoDB

Y recibí este mensaje:

The service is not responding to the control function. More help is available by typing NET HELPMSG 2186.

Creo un archivo llamado ''mongod.cfg'' en ''C: / MongoDB / bin / mongodb /' Tan pronto como agregué ese archivo y volví a ejecutar el comando ''net start MongoDB'', el servicio comenzó a funcionar correctamente.

Espero que esto ayude.


Estos son los pasos que seguí para instalar mongoDB en Windows 7

  1. descargue el archivo .msi del sitio mongodb -> https://www.mongodb.com/download-center?jmp=nav#community y ejecútelo

  2. Donde quiera que descargue su mondoDb (generalmente en la carpeta c Drive Archivos de programa), vaya a esa carpeta y donde sea que esté la carpeta bin en esa misma carpeta, cree su carpeta de datos y su carpeta de registro

3. Dentro de su carpeta de datos, cree su carpeta db

La estructura se vería algo como esto

  1. Ahora abra el símbolo del sistema como administrador.

  2. cambie su ruta de archivo e ingrese la carpeta bin (en este caso sería c> archivos de programa> MongoDB> bin>)

  3. Escriba el siguiente comando: mongod --directoryperdb --dbpath "C: / Archivos de programa / MongoDB / data" --logpath "C: / Archivos de programa / MongoDB / log / mongo.log" --logappend --rest - instalar

  4. Esto establecería la ruta de acceso y la ruta de la base de datos. Por último, ejecute net start MongoDB . Espero que esto ayude.


Otra forma en que esto podría fallar es si la cuenta que ejecuta el servicio no tiene permiso de escritura en el directorio de datos.

En ese caso, el servicio no podrá crear un archivo de bloqueo.

El servicio mongod se comporta mal en esta situación y entra en un bucle al iniciar un proceso, que arroja inmediatamente una excepción no controlada, bloqueos, etc. el archivo de registro se vuelve a crear cada vez que se inicia el proceso, por lo que debe tomarlo rápidamente si lo desea para ver el error

el usuario predeterminado para los servicios de Windows sería localhost / system. así que la solución es garantizar que este usuario pueda escribir en su directorio de db o iniciar el servicio como otro usuario que pueda hacerlo.


Para mongoDB 3.0 , deberá configurar lo siguiente en el archivo de configuración.

logpath=E:/mongoDBdata/log/mongoDB.log dbpath=E:/mongoDBdata/db

el logpath debe terminar con un archivo y no una carpeta.


Para la versión 2.6 al menos, debe crear las / data / db / y / log / carpetas a las que apunta mongo.cfg. MongoDB no lo hará y lanzará ese error en respuesta cuando se ejecute como un servicio.


Para mí, el problema era el directorio equivocado. Asegúrese de copiar y pegar el directorio desde su explorador de archivos y no asumir que el directorio especificado en la página de documentos es correcto.


Para otros que puedan tener el mismo problema en Windows Server 2012:

Acabo de tener el mismo problema con Mongo 3.0.3 en Windows Server 2012. No soy administrador de sistemas, así que no sé qué han cambiado para sc.exe. Tengo que usar

sc.exe create MongoDB binPath= "C:/mongodb/bin/mongod.exe --service --config=C:/mongodb/mongod.cfg" DisplayName= "MongoDB" start= "auto"

Esto es sin / "/" para rutas de archivos binarios y de configuración en comparación con la de su sitio web.


Recuerde crear la base de datos antes de comenzar el servicio

C:/>"C:/Program Files/MongoDB/Server/3.2/bin/mongod.exe" --dbpath d:/MONGODB/DB 2016-10-13T18:18:23.135+0200 I CONTROL [main] Hotfix KB2731284 or later update is installed, no need to zero-out data files 2016-10-13T18:18:23.147+0200 I CONTROL [initandlisten] MongoDB starting : pid=4024 port=27017 dbpath=d:/MONGODB/DB 64-bit host=mongosvr 2016-10-13T18:18:23.148+0200 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2 2016-10-13T18:18:23.149+0200 I CONTROL [initandlisten] db version v3.2.8 2016-10-13T18:18:23.149+0200 I CONTROL [initandlisten] git version: ed70e33130c977bda0024c125b56d159573dbaf0 2016-10-13T18:18:23.150+0200 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015 2016-10-13T18:18:23.151+0200 I CONTROL [initandlisten] allocator: tcmalloc 2016-10-13T18:18:23.151+0200 I CONTROL [initandlisten] modules: none 2016-10-13T18:18:23.152+0200 I CONTROL [initandlisten] build environment: 2016-10-13T18:18:23.152+0200 I CONTROL [initandlisten] distmod: 2008plus-ssl 2016-10-13T18:18:23.153+0200 I CONTROL [initandlisten] distarch: x86_64 2016-10-13T18:18:23.153+0200 I CONTROL [initandlisten] target_arch: x86_64 2016-10-13T18:18:23.154+0200 I CONTROL [initandlisten] options: { storage: { dbPath: "d:/MONGODB/DB" } } 2016-10-13T18:18:23.166+0200 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=8G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 2016-10-13T18:18:23.722+0200 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker 2016-10-13T18:18:23.723+0200 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory ''d:/MONGODB/DB/diagnostic.data'' 2016-10-13T18:18:23.895+0200 I NETWORK [initandlisten] waiting for connections on port 27017

Entonces puedes detener el proceso Control-C

2016-10-13T18:18:44.787+0200 I CONTROL [thread1] Ctrl-C signal 2016-10-13T18:18:44.788+0200 I CONTROL [consoleTerminate] got CTRL_C_EVENT, will terminate after current cmd ends 2016-10-13T18:18:44.789+0200 I FTDC [consoleTerminate] Shutting down full-time diagnostic data capture 2016-10-13T18:18:44.792+0200 I CONTROL [consoleTerminate] now exiting 2016-10-13T18:18:44.792+0200 I NETWORK [consoleTerminate] shutdown: going to close listening sockets... 2016-10-13T18:18:44.793+0200 I NETWORK [consoleTerminate] closing listening socket: 380 2016-10-13T18:18:44.793+0200 I NETWORK [consoleTerminate] shutdown: going to flush diaglog... 2016-10-13T18:18:44.793+0200 I NETWORK [consoleTerminate] shutdown: going to close sockets... 2016-10-13T18:18:44.795+0200 I STORAGE [consoleTerminate] WiredTigerKVEngine shutting down 2016-10-13T18:18:45.116+0200 I STORAGE [consoleTerminate] shutdown: removing fs lock... 2016-10-13T18:18:45.117+0200 I CONTROL [consoleTerminate] dbexit: rc: 12

Ahora su base de datos está preparada y puede comenzar el servicio usando

C:/>net start MongoDB The MongoDB service is starting. The MongoDB service was started successfully.


Si no especificó rutas absolutas de archivos para el directorio de datos o el directorio de registro, obtendrá el mismo error de Windows, pero no un archivo de registro.

Utilicé la información de "Instalar el servicio MongoDB en Windows 7", presioné en Webiyo para corregir los argumentos del servicio registrado:

  1. Descargue MongoDB y extráigalo en la unidad C: /.
  2. Agregue los subdirectorios "data" y "logs" en el directorio "C: / mongodb165".
  3. Agregue un nombre de archivo de registro "mongolog.txt" en "C: / mongodb165 / logs / mongolog.txt".
  4. Cambie el directorio a "C: / mongodb165 / bin".
  5. Ejecute el siguiente comando:

    mongod --install --rest –master –logpath=C:/mongodb165/logs/mongolog.txt

  6. Abra el editor de registro (regedit.exe), vaya a HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Services.

  7. Encuentre la clave MongoDB y establezca el valor "ImagePath" en:

    C:/mongodb165/bin/mongod --service --rest --master --logpath=C:/mongodb165/logs/mongolog.txt --dbpath=C:/mongodb165/data

  8. Guarde los cambios en el registro y salga del editor de registro.

  9. Abra ComponentServices, haga clic en "Servicios (locales)" y encuentre el servicio MongoDB. Iniciarlo.
  10. Verifique en la URL http://localhost:28017/ para verificar que MongoDB http://localhost:28017/ estadísticas.

Si observa los detalles del servicio, puede ver que el comando para iniciar el servicio es algo así como:

"C:/Program Files/MongoDB/bin/mongod" --config C:/Program Files/MongoDB/mongod.cfg --service

El equipo de MongoDB olvidó agregar la opción " around the --config . Así que solo edite el registro para corregirlo y funcionará.


Si recibe el error:

el nombre del servicio no es válido

cuando ejecute net start mongodb, deberá ejecutar el siguiente comando desde el Paso 4 de Manually Create a Windows Service para MongoDB Community Editition:

sc.exe create MongoDB binPath= "/"C:/Program Files/MongoDB/Server/3.4/bin/mongod.exe/" --service --config=/"C:/Program Files/MongoDB/Server/3.4/mongod.cfg/"" DisplayName= "MongoDB" start= "auto"


Simplemente intente ejecutar mongod.exe localmente en la línea de comandos, puede obtener aquí la excepción, que mongod llama y trata de resolverlo. En mi caso, era un espacio libre pequeño en el disco local, así que simplemente cambio la ubicación de los directorios y cambio el archivo Mongocofig y ahora funciona bien.


Tuve el mismo problema en Windows 8.1

La solución que funcionó para mí es especificar la ruta del archivo de configuración correctamente

Ir a HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > MongoDB > imagePath el valor era como el siguiente:

"C:/Program Files/MongoDB 2.6 Standard/bin/mongod.exe" --config mongod.cfg --service

Luego solo corregí la ruta del archivo de configuración para que coincida con mi ruta real:

"C:/Program Files/MongoDB 2.6 Standard/bin/mongod.exe" --config "d:/mongodb/mongod.cfg" --service


asegúrese de abrir la línea de comando con los derechos de "ejecutar como administrador" en el clic derecho antes de escribir todo el mongod


Los siguientes trabajos con MongoDB 3.6.0

Asegúrate de tener estas carpetas:

  • C: / mongodb / data
  • C: / mongodb / data / db

Entonces todo lo que necesitas son estos comandos:

  • mongod --directoryperdb -dbpath C: / mongodb / data / db --logpath C: / mongodb / log / mongo.log --logappend --service --install
  • net start MongoDB
  • mongo