Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

commitTransitionToDedicatedConfigServer (comando de base de datos)

commitTransitionToDedicatedConfigServer

Confirma la transición de un servidor de configuración integrado a un servidor de configuración dedicado.

Para ejecutar este comando, debe realizar la transición a un servidor de configuración dedicado con el startTransitionToDedicatedConfigServer Comando. Este comando le indica al balanceador que mueva fragmentos del shard a otros shards del clúster. También debe mover manualmente las bases de datos que usan el shard como shard principal y las colecciones no fragmentadas almacenadas en el shard antes de ejecutar el commitTransitionToDedicatedConfigServer comando.

El comando devuelve ok: 0 con un error si la transición al servidor de configuración dedicado no se completa o si contiene una base de datos o una colección no fragmentada. Si la transición se produce y todas las bases de datos y colecciones no fragmentadas se migran fuera del fragmento, el comando devuelve ok: 1.

Para comenzar la transición a un servidor de configuración dedicado, consulte el startTransitionToDedicatedConfigServer comando.

Para mostrar el estado de la transición de un servidor de configuración integrado a un servidor de configuración dedicado, consulte el getTransitionToDedicatedConfigServerStatus comando.

Para detener la transición en curso de un servidor de configuración integrado a un servidor de configuración dedicado,stopTransitionToDedicatedConfigServer utilice el comando.

Nuevo en la versión 8.3.

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.

El comando tiene la siguiente sintaxis:

db.adminCommand( {
commitTransitionToDedicatedConfigServer: 1
} )

Si tienes habilitado authorization, debes tener el rol de clusterManager o cualquier rol que incluya la acción de removeShard.

Cada base de datos en un clúster fragmentado tiene una partición principal. Si la partición en transición es también la principal de una de las bases de datos del clúster, deberá mover manualmente las bases de datos de su partición principal a una nueva partición después de migrar todos los datos de la partición actual.

Si hay una base de datos que utiliza el fragmento que desea usar como primario, el comando commitTransitionToDedicatedConfigServer devuelve un error.

Para obtener más detalles, consulte el movePrimary comando y la sección Eliminar fragmentos de un clúster fragmentado para obtener más información.

Las colecciones no fragmentadas se almacenan en fragmentos individuales. Si una de estas colecciones se encuentra en el fragmento que desea migrar del servidor de configuración integrado al dedicado, primero debe migrar la colección a otro fragmento.

Si hay una colección no fragmentada almacenada en el fragmento que desea migrar del servidor de configuración integrado al dedicado, el comando commitTransitionToDedicatedConfigServer devuelve un error.

Para migrar una colección no fragmentada, consulte el moveCollection comando.

Para comenzar a drenar un fragmento, 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 getTransitionToDedicatedConfigServerStatus comando:

db.adminCommand( { getTransitionToDedicatedConfigServerStatus: "1" } )
{
"state" : "drainingComplete",
"msg" : "draining completed successfully",
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1772142838, 176),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1772142838, 174)
}

Si la salida muestra alguna base de datos en el dbsToMove campo, utilice el movePrimary comando para moverlas a un fragmento diferente.

Si la salida muestra alguna colección sin fragmentar en el collectionsToMove campo, utilice el moveCollection comando para moverlas a un fragmento diferente.

Cuando getTransitionToDedicatedConfigServerStatus { state: "completed" }muestra, el equilibrador ha terminado de mover fragmentos fuera del shard. Ahora puedes eliminar el shard:

db.adminCommand( { commitTransitionToDedicatedConfigServer: "1" } )
{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1772142839, 19),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1772142839, 19)
}

Volver

commitShardRemoval

En esta página