Esta página describe el procedimiento para sincronizar datos de un conjunto de réplicas a un clúster fragmentado 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
Conecte el conjunto de réplicas y el clúster fragmentado
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, ingrese 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 al mongos instancia en su clúster.
Iniciar sincronización
Llama al endpoint start para iniciar la sincronización de datos.
Para sincronizar desde un conjunto de réplicas a un clúster fragmentado, configure la sharding opción del start comando para fragmentar las colecciones en el clúster de destino. Para obtener más información, consulte Parámetros de fragmentación.
Utiliza el parámetro sharding.shardingEntries para especificar las colecciones a particionar. Las colecciones que no enumeres en este arreglo se replicarán sin particionar. Para obtener más información, consulte Conjuntos de set de réplicas partición y Elija una clave de partició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 renombrar las colecciones quesharding.shardingEntriesincluye la opción durante la sincronización, con algunas limitaciones. Para más información,consulte "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 más detalles, consulta Limitaciones.