Definición
Muestra el estado de la transición de un servidor de configuración integrado a un servidor de configuración dedicado.
El comando devuelve ok: 0 con un error si la transición falla, de lo contrario devuelve ok: 1.
Para comenzar la transición a un servidor de configuración dedicado, consulte la
startTransitionToDedicatedConfigServer .
Para detener la transición en curso de un servidor de configuración integrado a un servidor de configuración dedicado, consulte el stopTransitionToDedicatedConfigServer comando.
Para confirmar la transición de un servidor de configuración integrado a un servidor de configuración dedicado, consulte el commitTransitionToDedicatedConfigServer comando.
Nuevo en la versión 8.3.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
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.
Nota
Este comando no es compatible en MongoDB Atlas. Consulte Modificar su clúster fragmentado de Atlas para vaciar el servidor de configuración integrado.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
Campos de salida
Este comando devuelve la siguiente salida:
Campo | Tipo | Descripción |
|---|---|---|
| string | Proporciona la operación de drenaje actual que está realizando el equilibrador. |
| string | Proporciona el estado de la transición a un servidor de configuración dedicado. |
| Documento | Muestra las tareas restantes que el balanceador debe realizar para vaciar el fragmento antes de realizar la transición completa a un servidor de configuración dedicado. |
| long | Indica la cantidad de fragmentos que aún se encuentran en el shard. |
| long | Indica el número de bases de datos que aún se encuentran en el fragmento. |
| long | Indica la cantidad de grandes fragmentos que aún se encuentran en el shard. |
| long | Indica el número de colecciones que aún se encuentran en el fragmento. |
| string | Proporciona un mensaje adicional para el usuario. |
| arreglo | Indica las bases de datos que utilizan el fragmento de drenaje como fragmento principal. Antes de poder migrar completamente a un servidor de configuración dedicado, debe mover manualmente estas bases de datos a un nuevo fragmento mediante el |
| arreglo | Indica las colecciones no fragmentadas almacenadas en el fragmento de drenaje. Antes de poder migrar completamente a un servidor de configuración dedicado, debe mover manualmente estas colecciones a otro fragmento mediante el |
Comportamiento
Requisitos de acceso
Si tienes habilitado authorization, debes tener el rol de clusterManager o cualquier rol que incluya la acción de removeShard.
Requisitos para la migración de la base de datos
Si el servidor de configuración integrado también es el principal de una de las bases de datos del clúster, deberá mover manualmente las bases de datos a una nueva partición después de migrar todos los datos de la partición actual.movePrimary Consulte el comando y la sección "Eliminar particiones de un clúster particionado" para obtener más información.
Requisitos de migración de colecciones
Si una de las colecciones no fragmentadas se encuentra en el servidor de configuración integrado, primero debe migrar la colección a un fragmento diferente.
Para migrar una colección no fragmentada, consulte el moveCollection comando.
Ejemplos
Para iniciar la transición a un servidor de configuración dedicado, utilice el método db.adminCommand() startTransitionToDedicatedConfigServer para ejecutar el comando:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )
Para comprobar el estado de la operación de drenaje, utilice el comando getTransitionToDedicatedConfigServerStatus:
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
{ "state" : "ongoing", "remaining" : { "chunks" : NumberLong(2), "collectionsToMove" : NumberLong(1), "dbs" : NumberLong(1), "jumboChunks" : NumberLong(0), "estimatedRemainingBytes" : NumberLong(18) }, "msg" : "draining ongoing", "dbsToMove" : [ "testDB" ], "note" : "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove", "collectionsToMove" : [ "testDB.testCollUnsharded" ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1772210444, 27), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1772210444, 27) }