Definición
Nuevo en la versión 8.0.
A partir de MongoDB 8.0, puedes:
Configure un servidor de configuración para almacenar los datos de su aplicación además de los habituales Metadatos de clúster fragmentados. Un servidor de configuración que almacena datos de la aplicación se denomina fragmento de configuración.
Transición de un servidor de configuración de ser un fragmento de configuración a un servidor de configuración dedicado.
Un clúster requiere un servidor de configuración, pero puede ser un fragmento de configuración en lugar de un servidor de configuración dedicado. Usar un fragmento de configuración reduce la cantidad de nodos necesarios y simplifica la implementación.
Si su aplicación tiene requisitos exigentes de disponibilidad y resiliencia, considere implementar un servidor de configuración dedicado. Un servidor de configuración dedicado proporciona aislamiento, recursos dedicados y un rendimiento consistente para las operaciones críticas del clúster.
El comando transitionFromDedicatedConfigServer configura un servidor de configuración dedicado para que se ejecute como un fragmento de configuración.
Antes de transitionFromDedicatedConfigServer ejecutar, conéctese a y utilice la base mongosde datos de administración.
El clúster fragmentado debe tener featureCompatibilityVersion establecido en al 8.0 menos.
Sintaxis
Sintaxis del comando:
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )
Comportamiento
El comando transitionFromDedicatedConfigServer agrega el servidor de configuración como un fragmento en el clúster. Internamente, transitionFromDedicatedConfigServer ejecuta el comando addShard.
Puede confirmar que un clúster fragmentado utiliza un fragmento de configuración mediante uno de los siguientes métodos:
Ejecute el
sh.isConfigShardEnabled()métodomongoshen. Si lash.isConfigShardEnabled()salidaenabled: truecontiene, el clúster usa un fragmento de configuración. Si la salidaenabled: falsecontiene, el clúster no usa ningún fragmento de configuración.Ejecute el comando en
listShardslaadminbase de datos mientras esté conectado a un e inspeccione la salida para ver si hay un documentomongosdonde_idesté configurado"config"como. Si lalistShardssalida no contiene un documento donde_idesté configurado"config"como, el clúster no usa un fragmento de configuración.
Para obtener más detalles, consulte Confirmar el uso de Config Shard.
Si necesita degradar la versión de compatibilidad de funciones por debajo 8.0 de, primero ejecute el transitionToDedicatedConfigServer comando. Para obtener más información, consulte "Descender la versión de compatibilidad de funciones".
Control de acceso
Si el control de acceso está habilitado, el transitionFromDedicatedConfigServer comando requiere la transitionFromDedicatedConfigServer acción de autorización para el clúster:
{ resource: { cluster : true }, actions: [ "transitionFromDedicatedConfigServer" ] }
El clusterManager rol tiene una transitionFromDedicatedConfigServer acción de autorización y se puede asignar a un usuario.
El siguiente ejemplo asigna el rol clusterManager a un usuario llamado testUser:
db.grantRolesToUser( "testUser", [ "clusterManager" ] )
Ejemplo
El siguiente ejemplo configura un servidor de configuración dedicado para que se ejecute como un fragmento de configuración:
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )