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, se le indica al balanceador que desea iniciar la transición hacia un servidor de configuración dedicado. Asincrónicamente, el equilibrador comienza entonces a mover fragmentos de la partición a otros nodos en el clúster. Una vez que el balanceador haya terminado este proceso y hayas migrado manualmente cualquier colección no fragmentada a una partición diferente, puedes removerlo con seguridad del clúster porque ya no contiene datos. Consulte el
moveCollection comando para más información.
Nota
Debes activar el balanceador para startTransitionToDedicatedConfigServer para mover los fragmentos fuera de la partición del servidor de configuración integrado. Si desactiva el balanceador, no se migrarán fragmentos y getTransitionToDedicatedConfigServerStatus seguirá reportando el trabajo pendiente en la partición.
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, consulta el comando stopTransitionToDedicatedConfigServer.
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 confirmar la transición de un servidor de configuración embebido a un servidor de configuración dedicado, consulte el comando commitTransitionToDedicatedConfigServer.
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. Consulta Modifica tu clúster fragmentado Atlas para drenar 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.
Sin copias de seguridad del clúster durante el vaciado de particiones
No puedes hacer una copia de seguridad del clúster mientras inicias la transición.
Requisitos para la migración de la base de datos
Si el Servidor de configuración incrustado también es el primario de una de las bases de datos del clúster, entonces debes mover manualmente las bases de datos a una nueva partición después de migrar todos los datos desde la partición. Consulta el comando movePrimary y Eliminar particiones de un clúster para obtener más información.
Requisitos de migración de la colección
Si una de las colecciones no particionadas se encuentra en el servidor de configuración incrustado, primero debes migrar la colección a otra partición.
Para migrar una colección no particionada, consulta el comando moveCollection.
Equilibrio de fragmentos
Cuando migras a un servidor de configuración dedicado y el clúster tiene una distribución desigual de fragmentos, el balanceador primero remueve los fragmentos de la partición de drenaje y luego equilibra la distribución desigual restante de fragmentos.
Nivel de confirmación de escritura
mongos convierte el nivel de confirmación de escritura (write concern) del comando startTransitionToDedicatedConfigServer en "majority".
Flujos de cambio
Vaciar el servidor de configuración incrustado puede provocar que un cursor de flujo de cambios abierto se cierre y que el cursor de flujo de cambios cerrado no sea completamente reanudable.
Operaciones de DDL
Si ejecuta startTransitionToDedicatedConfigServer mientras su clúster ejecuta una operación DDL (operación que modifica una colección, como reshardCollection), la transición solo se ejecuta después de que finalice la operación DDL simultánea.
Ejemplos
Para iniciar la transición, utilice el método db.adminCommand():
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )