Convertir un conjunto de réplicas en un clúster fragmentado con un servidor de configuración integrado
A partir de MongoDB 8.0, puede configurar 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 aplicaciones se denomina fragmento de configuración o servidor de configuración integrado.
Convertir su conjunto de réplicas en un clúster fragmentado con un servidor de configuración integrado puede reducir:
La cantidad de nodos necesarios en su implementación.
Complejidad para mantener clústeres de un solo fragmento.
Acerca de esta tarea
No se puede convertir directamente un conjunto de réplicas en un fragmento de configuración. Para convertir un conjunto de réplicas en un servidor de configuración integrado, debe:
Convierta su conjunto de réplicas en un clúster fragmentado con un servidor de configuración dedicado.
Configure el servidor de configuración dedicado para que se ejecute como un fragmento de configuración utilizando el
transitionFromDedicatedConfigServerdominio.El comando
transitionFromDedicatedConfigServeragrega el servidor de configuración como un fragmento en el clúster.
Reduzca la cantidad de fragmentos en su clúster después de agregar el fragmento de configuración.
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.
El rol tiene clusterManager la transitionFromDedicatedConfigServer acción de autorización y se puede asignar a un usuario.
Pasos
El siguiente ejemplo convierte un conjunto de réplicas autoadministradas en un fragmento de configuración que contiene datos de usuario preexistentes del conjunto de réplicas.
Convierta su conjunto de réplicas en un clúster fragmentado con un servidor de configuración dedicado
Este tutorial presupone que sabe cómo convertir su conjunto de réplicas autoadministradas en un clúster fragmentado. Para obtener instrucciones completas, consulte Convertir un conjunto de réplicas autoadministradas en un clúster fragmentado.
Ejecute el transitionFromDedicatedConfigServer comando
Para configurar su servidor de configuración dedicado para que se ejecute como un fragmento de configuración, ejecute el comando transitionFromDedicatedConfigServer desde la base de datos de administración:
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )
Verifique que el servidor de configuración ahora sea un fragmento de configuración
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.
El siguiente ejemplo ejecuta el comando listShards e intenta encontrar un documento donde _id esté establecido en "config".
db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")
En este ejemplo, el documento devuelto tiene _id establecido en "config", lo que confirma que este clúster usa un fragmento de configuración.
{ _id: "config", host: "configRepl/localhost:27018", state: 1, topologyTime: Timestamp({ t: 1732218671, i: 13 }), replSetConfigVersion: Long('-1') }
Nota
Si el balanceador está en ejecución, migra automáticamente los datos entre los fragmentos. De lo contrario, use los moveCollection comandos o para distribuir los datos manualmente.moveChunk
Reduzca la cantidad de fragmentos en su clúster a uno
Para reducir el clúster a un solo fragmento después de agregar el fragmento de configuración, mueva todas las colecciones no fragmentadas al fragmento de configuración moveCollection con el comando y elimine el primer fragmento del clúster con el comando. Este paso reduce removeShard el clúster a un solo fragmento de configuración.
Para obtener instrucciones completas sobre cómo eliminar fragmentos en su clúster, consulte Eliminar fragmentos de un clúster fragmentado.