Esta página describe el procedimiento para sincronizar datos de un set de réplicas a un clúster particionado mediante mongosync.
Nota
mongosync no admite la sincronización desde un clúster hasta un set de réplicas.
Antes de comenzar
Define tu set de réplicas de origen y clúster fragmentado de destino.
Definir un usuario administrativo que tenga permisos en ambos clústeres.
Descargue e instale
mongosync.
Para obtener más información, consulte las instrucciones de configuración de mongosync.
Pasos
Conecta el set de réplicas y el clúster
mongosync debe crear una conexión inicial entre el set de réplicas de origen y el clúster de destino antes de poder comenzar a sincronizar los datos.
Para conectar cluster0 a cluster1 con mongosync, introduce el siguiente comando:
mongosync \ --cluster0 "<cluster0_connection_string>" \ --cluster1 "<cluster1_connection_string>"
Siga las instrucciones de conexión para la arquitectura de su clúster para formatear sus cadenas de conexión y conectarse a la instancia mongos en su clúster.
Iniciar sincronización
Llama al endpoint start para iniciar la sincronización de datos.
Para sincronizar desde un set de réplicas a un clúster particionado, configura la opción sharding del comando start para particionar colecciones en el clúster de destino. Para obtener más información, consulta Parámetros de particionado.
Utilice el parámetro sharding.shardingEntries para especificar las colecciones que se van a fragmentar. Las colecciones que no se incluyan en esta lista se replicarán sin fragmentar. Para obtener más información, consulte Conjuntos de réplicas de fragmentación y Elegir una clave de fragmentación.
El siguiente ejemplo inicia una sincronización de un set de réplicas a un clúster:
Solicitud
curl localhost:27182/api/v1/start -XPOST \ --data ' { "source": "cluster0", "destination": "cluster1", "sharding": { "createSupportingIndexes": true, "shardingEntries": [ { "database": "accounts", "collection": "us_east", "shardCollection": { "key": [ { "location": 1 }, { "region": 1 } ] } } ] } } '
Respuesta
{"success":true}
Próximos pasos
Puedes finalizar una migración y transferir la carga de trabajo de tu aplicación del clúster de origen al de destino utilizando el mongosync proceso de cambio.
Limitaciones
- No puede utilizar el endpoint reverso entre un set de réplicas y un clúster.
mongosyncpermite a los usuarios cambiar el nombre de las colecciones que la opciónsharding.shardingEntriesincluye durante la sincronización con algunas limitaciones. Para más detalles, consulta Renombrar durante la sincronización.Si utilizas la opción
sharding.createSupportingIndexes, los índices se crean automáticamente en el clúster de destino durante la sincronización. No se pueden crear estos índices posteriormente en el clúster de origen.Si quieres crear un índice para admitir las claves de partición manualmente, debes crear el índice antes de que
mongosynccomience o después de que se complete la migración ymongosyncse detenga.
- Si el set de réplicas fuente tiene árbitros, el set de réplicas fuente debe tener más de 2 nodos no árbitros y debe sincronizarse desde un nodo no árbitro.
Para obtener más información, consulta mongosync Migration Limitations.