mongosync. Ver el
documentación actual para obtener orientación actualizada sobre mongosync e instrucciones sobre cómo actualizar a la última versión.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 fragmentado a un conjunto de réplicas.
Antes de comenzar
Define tu conjunto de réplicas de origen y el clúster fragmentado de destino.
Defina 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 a la instancia en su mongos clúster.
Iniciar sincronización
Llame al punto final de inicio 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 usa la opción
sharding.createSupportingIndexes, los índices se crean automáticamente en el clúster de destino durante la sincronización. No podrá crearlos posteriormente en el clúster de origen.Si desea crear un índice para admitir claves de fragmentos manualmente, debe crear el índice antes de que comience
mongosynco después de que se complete la migración ymongosyncse haya detenido.
Si el conjunto de réplicas de origen tiene árbitros, debe tener más de 2 nodos que no sean árbitros y debe sincronizar desde un nodo que no sea árbitro.
Para más detalles, consulta Limitaciones.