Docs Menu
Docs Home
/ /
Databases

db.shutdownServer() (método mongosh)

Modificado en la versión 5.0.

db.shutdownServer()

Apaga la corriente El procesomongodomongosdebe realizarse de forma limpia y segura. Debe ejecutar la operacióndb.shutdownServer()en la base de datos de administración.

db.shutdownServer() tiene esta sintaxis:

db.shutdownServer({
force: <boolean>,
timeoutSecs: <int>
})

El método toma estos campos:

Campo
Descripción

Opcional. Especifique true para forzar el mongod mongos apagado de o. Forzar el apagado interrumpe cualquier operación en curso en mongod o y puede provocar un comportamiento mongos inesperado.

Puede pausar y reanudar las compilaciones de índices en curso mediante. Consulte sobre force db.shutdownServer() miembros del conjunto de réplicas para obtener más información.

Opcional.

A partir de MongoDB,5.0 mongod y ingresan a un período de inactividad para permitir que cualquier operación de base mongos de datos en curso se complete antes de apagarse.

Si un mongod servidor principal recibe una solicitud de apagado, el servidor principal:

  1. Intentos de pasar a un secundario.

    Si el paso hacia abajo falla y:

  2. Entra en el período de inactividad.

  3. Finaliza cualquier operación de base de datos restante.

  4. Se apaga.

Para una mongod mongos solicitud de apagado secundario o, el período de inactividad se ingresa después de que se solicitó el apagado.

El período de inactividad se especifica mediante:

Los clientes no pueden abrir nuevas conexiones a un mongod o que se está mongos cerrando.

timeoutSecs especifica un periodo de tiempo en segundos. El valor predeterminado es:

  • 15 segundos comenzando en MongoDB 5.0.

  • 10 segundos en versiones de MongoDB anteriores a 5.0.

mongod utiliza timeoutSecs de la siguiente manera:

  • Si el nodo actual es el nodo principal de un conjuntomongod de réplicas, espera hasta el número de segundos especificado en el campo timeoutSecs para que un nodo elegible se recupere antes de relegar al nodo principal. Para obtener más información sobre el tiempo de recuperación, consulte el retardo de replicación.

  • Si el nodo actual se encuentra en el estado tras dejar de ser SECONDARY el principal, el tiempo restante especificado en timeoutSecs se utiliza para un periodo de inactividad que permite completar las operaciones existentes. Las nuevas operaciones se envían a otros nodos del conjunto de réplicas.

A partir de 5.0 MongoDB, mongos utiliza timeoutSecs como periodo de inactividad, lo que permite que las operaciones existentes se completen. Las nuevas operaciones se envían a otros nodos. En versiones de MongoDB mongos anteriores 5 0a., mongos se cierra inmediatamente y no utiliza timeoutSecs.

En MongoDB 4.4 y versiones anteriores, para una mongod instancia primaria, timeoutSecs es el número de segundos que la instancia primaria debe esperar a que una secundaria la alcance. Si ninguna instancia secundaria la alcanza dentro del tiempo especificado, el comando falla. El valor predeterminado es 10 segundos.

Esta operación proporciona una envoltura alrededor del shutdown comando.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

Importante

Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Para un mongod iniciado con autenticación en implementaciones autogestionadas, debe ejecutar db.shutdownServer() mediante una conexión autenticada.Consulte Control de acceso para obtener más información.

Para unmongodiniciado sin autenticación en implementaciones autogestionadas, debe ejecutardb.shutdownServer()desde un cliente conectado a la interfaz localhost. Por ejemplo, ejecutemongoshcon la opción--host "127.0.0.1"en el mismo host quemongod.

db.shutdownServer() falla si el miembro del mongod conjunto de réplicas ejecuta ciertas operaciones, como compilaciones de índices. Puede especificar "force: true" para mongod guardar el progreso de la compilación del índice en el disco. recupera la compilación del índice al reiniciarse y continúa desde el punto de control guardado.

A partir de MongoDB,5.0 mongod y ingresan a un período de inactividad para permitir que cualquier operación de base mongos de datos en curso se complete antes de apagarse.

Si un mongod servidor principal recibe una solicitud de apagado, el servidor principal:

  1. Intentos de pasar a un secundario.

    Si el paso hacia abajo falla y:

  2. Entra en el período de inactividad.

  3. Finaliza cualquier operación de base de datos restante.

  4. Se apaga.

Para una mongod mongos solicitud de apagado secundario o, el período de inactividad se ingresa después de que se solicitó el apagado.

El período de inactividad se especifica mediante:

Los clientes no pueden abrir nuevas conexiones a un mongod o que se está mongos cerrando.

timeoutSecs especifica un periodo de tiempo en segundos. El valor predeterminado es:

  • 15 segundos comenzando en MongoDB 5.0.

  • 10 segundos en versiones de MongoDB anteriores a 5.0.

mongod utiliza timeoutSecs de la siguiente manera:

  • Si el nodo actual es el nodo primario de un set de réplicas, mongod espera un periodo de hasta el número de segundos especificados por el campo timeoutSecs para que un nodo elegible se ponga al día antes de renunciar al nodo primario. Para obtener detalles sobre el tiempo de puesta al día, consulta atraso de la replicación.

  • Si el nodo actual está en el estado SECONDARY después de dejar de ser primario, cualquier tiempo restante especificado en timeoutSecs se usa para un periodo de inactividad, lo que permite que se completen las operaciones existentes. Las nuevas operaciones se envían a otros nodos del set de réplicas.

A partir de 5.0 MongoDB, mongos utiliza timeoutSecs como periodo de inactividad, lo que permite que las operaciones existentes se completen. Las nuevas operaciones se envían a otros nodos. En versiones de MongoDB mongos anteriores 5 0a., mongos se cierra inmediatamente y no utiliza timeoutSecs.

Advertencia

El apagado forzado del servidor principal puede provocar la reversión de cualquier escritura que aún no se haya replicado en un servidor secundario.

Para ejecutardb.shutdownServer()en unmongodque aplica autenticación en implementaciones autogestionadas, el usuario autenticado debe tener el privilegiodb.shutdownServer(). Por ejemplo, un usuario con el rol integradohostManagertiene los permisos adecuados.

db.getSiblingDB("admin").shutdownServer()
db.getSiblingDB("admin").shutdownServer({ "force" : true })
db.getSiblingDB("admin").shutdownServer({ "timeoutSecs": 60 })

Volver

db.setProfilingLevel

En esta página