Definición
Inicia la transición de un servidor de configuración integrado a un servidor de configuración dedicado.
Cuando se ejecuta el comando, le indica al balanceador que desea iniciar la transición a un servidor de configuración dedicado. De forma asíncrona, el balanceador comienza a mover fragmentos del shard a otros shards en el clúster. Una vez que el balanceador haya finalizado este proceso y haya migrado manualmente cualquier colección no fragmentada a un shard diferente, puede eliminarlo de forma segura del clúster porque ya no contiene datos. Consulte la
moveCollection Comando para obtener más información.
Nota
Debe habilitar el balanceador para startTransitionToDedicatedConfigServer que mueva los fragmentos fuera del servidor de configuración integrado. Si deshabilita el balanceador, no se migrarán fragmentos y getTransitionToDedicatedConfigServerStatus seguirá informando sobre el trabajo restante en el fragmento.
El comando devuelve un error si la transición falla, de lo contrario devuelve ok.
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 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 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( { startTransitionToDedicatedConfigServer: 1 } )
Comportamiento
Requisitos de acceso
Si tienes habilitado authorization, debes tener el rol de clusterManager o cualquier rol que incluya la acción de removeShard.
No se producen copias de seguridad del clúster durante el drenaje de fragmentos.
No se puede realizar una copia de seguridad del clúster mientras se inicia la transición.
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.
Equilibrio de fragmentos
Cuando se realiza la transición a un servidor de configuración dedicado y el clúster tiene una distribución desigual de fragmentos, el equilibrador primero elimina los fragmentos del fragmento que se está drenando y luego equilibra la distribución desigual de fragmentos restante.
Nivel de confirmación de escritura
mongos convierte la startTransitionToDedicatedConfigServer preocupación de escritura del "majority" comando a.
Flujos de cambio
El vaciado del servidor de configuración integrado puede provocar el cierre de un cursor de flujo de cambios abierto, y es posible que dicho cursor no se pueda reanudar por completo.
Operaciones de DDL
Si ejecuta startTransitionToDedicatedConfigServer mientras su clúster está ejecutando una operación DDL (operación que modifica una colección reshardCollection como), la transición solo se ejecuta después de que finaliza la operación DDL concurrente.
Ejemplos
Para iniciar la transición, utilice el db.adminCommand() método:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )