Menu Docs

Página inicial do DocsSincronização de Cluster-to-Cluster do MongoDB

Conectar dois clusters auto-managed

Nesta página

  • Cadeias de conexão
  • Autenticação
  • Funções
  • Comportamento
  • Exemplo

O utilitário mongosync cria uma conexão entre clusters MongoDB. mongosync pode fazer uma conexão entre:

  • clusters auto-managed,

  • clusters hospedados no MongoDB Atlas , ou

  • um cluster self-managed e um cluster hospedado no Atlas.

Esta página fornece instruções para conectar clusters autogerenciados usando o MongoDB Cluster-to-Cluster Sync.

Observação

Para obter o melhor desempenho, atualize os clusters de origem e destino para a versão de patch mais recente do MongoDB Server antes da migração. Para obter mais informações, consulte Atualizar para a versão de patch mais recente do MongoDB.

O mongosync usa uma connection string de URI MongoDB para conectar os clusters:

  • O esquema de conexão SRV tem o formulário:

    mongodb+srv://[username:password@][host.domain.TLD][:port][/defaultauthdb][?options]
  • O esquema de conexão URI padrão tem o formulário:

    mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

Especifique os nomes de host das instâncias do mongod da mesma forma que elas estão listadas na configuração do conjunto de réplicas.

Para clusters fragmentados, especifique os nomes de host das instâncias mongos em vez das instâncias mongod .

Observação

mongosync não requer a opção replicaSet .

mongosync requer a read preference primary para se conectar ao cluster de origem. Para obter mais informações, consulte Opções de preferência de leitura.

Se o cluster de origem ou destino exigir autenticação, você deverá fornecer as credenciais corretas ao chamar o mongosync.

O usuário especificado na string de conexão mongosync deve ter as permissões necessárias nos clusters de origem e destino. As permissões variam dependendo do seu ambiente e se você deseja executar um bloqueio de gravação ou sincronização reversa.

As permissões self-managed são:

Tipo de sincronização
Permissões de origem necessárias
Permissões de destino necessárias
default
Bloqueio de gravação
Reversão

Para obter detalhes sobre as funções do servidor, consulte: Controle de acesso baseado em funções.

Para atualizar permissões de usuário, consulte: grantRolesToUser.

O utilitário mongosync pode ser hospedado em seu próprio hardware próximo ao cluster de origem ou de destino. Ele não precisa ser hospedado no mesmo servidor que uma das instâncias mongod ou mongos no cluster. Essa flexibilidade permite que você envie ou extraia dados para o cluster de destino com impacto mínimo nas instâncias mongod ou mongos execução lá.

Quando mongosync se conecta, ele está no estado IDLE . Você deve emitir o comando de inicialização para iniciar a sincronização.

O cluster de origem, cluster0, é hospedado nos seguintes servidores e portas:

  • clusterOne01.fancyCorp.com:20020

  • clusterOne02.fancyCorp.com:20020

  • clusterOne03.fancyCorp.com:20020

O cluster de destino, cluster1, é hospedado nos seguintes servidores e portas:

  • clusterTwis01.fancyCorp.com:20020

  • clusterTwis02.fancyCorp.com:20020

  • clusterTwi03.fancyCorp.com:20020

Há um usuário administrativo, clusterAdmin configurado em cada cluster com senha, superSecret.

O formato genérico da string de conexão é:

mongodb://<user>:<password>@<ip-address>:<port>,<ip-address>:<port>,<ip-address>:<port>

Use as informações de conexão coletadas para criar as string de conexão para cluster0 e cluster1:

cluster0:
mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020
cluster1:
mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020

O layout de comando mongosync abaixo é modificado para exibição. Para conectar cluster0 a cluster1 com mongosync, digite o seguinte comando em uma linha:

mongosync \
--cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020" \
--cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020"

Os Atlas clusters exigem conexões TLS . Para utilizar o mongosync com Atlas clusters, você adiciona a opção tls=true . Por exemplo, para conectar ao banco de dados do admin em cluster0 e cluster1:

mongosync \
--cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020/admin?tls=true" \
--cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020/admin?tls=true"

Você também pode usar connection strings mongodb+srv com mongosync. Você não precisa adicionar a opção tls=true a uma connection string mongodb+srv . Por exemplo:

mongosync \
--cluster0 "mongodb+srv://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020/" \
--cluster1 "mongodb+srv://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020/"

Para obter mais detalhes sobre connection strings mongodb+srv , consulte Formato de conexão SRV.

← Conectar dois cluster do Atlas