Docs Menu
Docs Home
/ /

Sincronizar un conjunto de réplicas con un clúster fragmentado

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.

  • 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.

1

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.

2

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:

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 }
]
}
}
]
}
} '
{"success":true}

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.

  • No puede utilizar el endpoint reverso entre un set de réplicas y un clúster.

  • mongosync Permite a los usuarios renombrar las colecciones que sharding.shardingEntries incluye 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 mongosync o después de que se complete la migración y mongosync se 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.

Volver

Topologías de clúster

En esta página