Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

commitTransitionToDedicatedConfigServer (comando de base de datos)

commitTransitionToDedicatedConfigServer

Realiza la transición de un servidor de configuración embebido a un servidor de configuración dedicado.

Para ejecutar este comando, debes cambiar a un servidor de configuración dedicado con el Comando startTransitionToDedicatedConfigServer. Este comando indica al balanceador que mueva fragmentos de la partición a otras particiones en el clúster. También debe mover manualmente las bases de datos que utilizan la partición como partición primaria y las colecciones no fragmentadas que se almacenan en la partición antes de ejecutar el comando commitTransitionToDedicatedConfigServer.

El comando ejecuta 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 particionada. Si se produce la transición y todas las bases de datos y las colecciones sin particiones se migran fuera del fragmento, el comando devuelve ok: 1.

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

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

Para detener la transición en curso de un servidor de configuración integrado a un servidor de configuración dedicado stopTransitionToDedicatedConfigServer 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. Consulta Modifica tu clúster fragmentado Atlas para drenar 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 tiene una partición primaria. Si la partición en transición también es la partición primaria de una de las bases de datos del clúster, entonces debes mover manualmente las bases de datos de su partición primaria a una nueva partición después de migrar todos los datos de la partición.

Si existe una base de datos que utilice la partición que deseas utilizar como primario, el comando commitTransitionToDedicatedConfigServer devuelve un error.

Para más detalles, consulta el comando movePrimary y el remover particiones de un clúster para obtener información adicional.

Las colecciones sin particiones se almacenan en shards individuales. Si una de estas colecciones está en la partición que deseas pasar de un servidor de configuración embebido a un servidor de configuración dedicado, primero debes migrar la colección a una partición diferente.

Si existe una colección no fragmentada almacenada en la partición del que se desea cambiar de un servidor de configuración incrustado a uno dedicado, el comando commitTransitionToDedicatedConfigServer devuelve un error.

Para migrar una colección no particionada, consulta el comando moveCollection.

Para comenzar a drenar una partición, utilice el método db.adminCommand() para ejecutar el comando startTransitionToDedicatedConfigServer:

db.adminCommand( { startTransitionToDedicatedConfigServer: "1" } )

Para comprobar el estado de la operación de vaciado, utiliza el comando getTransitionToDedicatedConfigServerStatus:

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 campo dbsToMove, utiliza el comando movePrimary para trasladarlas a una partición diferente.

Si la salida muestra alguna colección no particionada en el campo collectionsToMove, utiliza el comando moveCollection para moverla a una partición diferente.

Cuando getTransitionToDedicatedConfigServerStatus muestra { state: "completed" }, el equilibrador ha terminado de mover fragmentos fuera de la partición. Ahora puedes remover la partición:

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