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 conjunto de réplicas de origen y el clúster fragmentado de destino antes de poder comenzar a sincronizar 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
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.
Utilice el sharding.shardingEntries parámetro para especificar las colecciones que se fragmentarán. Las colecciones que no incluya en esta matriz se replicarán como no fragmentadas. Para obtener más información, consulte Conjuntos de réplicas de fragmentos y Elegir una clave de fragmento.
El siguiente ejemplo inicia una sincronización desde un conjunto de réplicas a un clúster fragmentado:
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
Puede finalizar una migración y transferir la carga de trabajo de su aplicación desde el clúster de origen al de destino mediante el mongosync proceso de transferencia.
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 obtener más detalles, consulte Limitaciones.