Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Configurar o alvo de sincronização de um secundário autogerenciado

Nesta página

  • Visão geral
  • Considerações
  • Procedimento

Os secundários captam dados do membro primário para manter uma cópia atualizada dos dados dos conjuntos. No entanto, por padrão, os secundários podem alterar automaticamente seus destinos de sincronização para membros secundários com base em alterações no tempo de ping entre os membros e no estado da replicação de outros membros. Consulte Sincronização de dados do conjunto de réplicas e Replicações encadeadas autogerenciadas para obter mais informações.

Para alguns sistemas, a implementação de uma topologia de sincronização de replicação personalizada pode ser mais eficaz do que a lógica de seleção de destino de sincronização padrão. O MongoDB fornece a capacidade de especificar um host para usar como destino de sincronização.

Para substituir temporariamente a lógica de seleção de destino de sincronização padrão, você pode configurar manualmente o destino de sincronização de um membro secundário para extrair temporariamente entradas do oplog. O seguinte fornece acesso a esta funcionalidade:

Se uma operação de sincronização inicial estiver em andamento ao executar o replSetSyncFrom/rs.syncFrom(), o replSetSyncFrom/rs.syncFrom() interromperá a sincronização inicial em andamento e reiniciará o processo de sincronização com o novo destino.

Modifique apenas a lógica de sincronização padrão conforme necessário e sempre tenha cuidado.

O membro de quem sincronizar deve ser uma fonte válida para dados no conjunto. Para sincronizar de um membro, o membro deve:

  • Tenha dados. Não pode ser um árbitro, no modo de inicialização ou recuperação, e deve ser capaz de responder a queries de dados.

  • Seja acessível.

  • Seja um membro do mesmo conjunto na configuração do conjunto de réplicas.

  • Construa índices com a configuração members[n].buildIndexes.

  • Outro nó do conjunto, para evitar a sincronização dele mesmo.

Se você tentar replicar de um membro que está mais de 10 segundos atrás do membro atual, mongod registrará um aviso, mas ainda replicará do membro atrasado. Consulte também Controle de fluxo e atraso de replicação.

replSetSyncFrom/rs.syncFrom() fornece uma substituição temporária do comportamento padrão. mongod será revertido para o comportamento de sincronização padrão nas seguintes situações:

  • A instância do mongod é reiniciada.

  • A conexão entre o mongod e o destino de sincronização é fechada.

  • Se o destino da sincronização cair mais de 30 segundos atrás de outro membro do conjunto de réplicas.

Para usar o comando replSetSyncFrom no mongosh:

db.adminCommand( { replSetSyncFrom: "hostname<:port>" } );

Para usar o auxiliar rs.syncFrom() no mongosh:

rs.syncFrom("hostname<:port>");

Voltar

Alterar nome de host