Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Sincronizar um conjunto de réplicas com um cluster fragmentado

Esta página descreve o procedimento para sincronizar dados de um conjunto de réplicas para um cluster usando mongosync.

Observação

mongosync não suporta sincronização de um cluster fragmentado para um conjunto de réplicas.

  • Defina seu conjunto de réplicas de origem e cluster fragmentado de destino .

  • Defina um usuário administrativo que tenha permissões em ambos os clusters.

  • Baixar e instalar mongosync.

Para saber mais, consulte as instruções de configuração do mongosync .

1

mongosync deve criar uma conexão inicial entre o conjunto de réplicas de origem e o cluster fragmentado de destino antes de começar a sincronizar dados.

Para conectar cluster0 a cluster1 com mongosync, digite o seguinte comando:

mongosync \
--cluster0 "<cluster0_connection_string>" \
--cluster1 "<cluster1_connection_string>"

Follow the connection instructions for your cluster architecture to format your connection strings and connect to the mongos instance in your cluster.

2

Chame o endpoint inicial para iniciar a sincronização de dados.

Para sincronizar de um conjunto de réplicas para um cluster fragmentado, defina a opção sharding para o comando start para fragmentar coleções no cluster de destino. Para obter mais informações, consulte Parâmetros de fragmentação.

Use the sharding.shardingEntries parameter to specify the collections to shard. Collections that you do not list in this array replicate as unsharded. For more information, see Shard Replica Sets and Choose a Shard Key.

O exemplo a seguir inicia uma sincronização a partir de um conjunto de réplicas com um cluster 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}

Você pode finalizar uma migração e transferir o volume de trabalho do seu aplicação do cluster de origem para o de destino usando o processo de cutoverdo mongosync .

  • Você não pode usar o endpoint inverso entre um conjunto de réplicas e um cluster fragmentado.
  • mongosync permite aos usuários renomear coleções que a opção sharding.shardingEntries inclui durante a sincronização com algumas limitações. Para obter detalhes, consulte Renomeando durante a sincronização.

  • Se você usar a opção sharding.createSupportingIndexes , os índices serão criados automaticamente no cluster de destino durante a sincronização. Você não poderá criar esses índices posteriormente no cluster de origem.

  • Se você quiser criar um índice para suportar chaves de shard manualmente, deverá criar o índice antes que o mongosync inicie ou depois que a migração for concluída e o mongosync for interrompido.

  • Se o conjunto de réplicas de origem tiver árbitros, o conjunto de réplicas de origem deverá ter mais de 2 nós não árbitros e você deverá sincronizar a partir de um nó não árbitro.

Para obter mais detalhes, consulte Limitações de migração do mongosync.