Descrição
replSetSyncFromSubstitui temporariamente o destino de sincronização padrão para o
mongodatual . Esta operação é útil para testar padrões diferentes e em situações em que um membro do conjunto não está replicando a partir do host desejado.Dica
In
mongosh, this command can also be run through thers.syncFrom()helper method.Helper methods are convenient for
mongoshusers, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.Run
replSetSyncFromin theadmindatabase.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Importante
Este comando não é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { replSetSyncFrom: "hostname<:port>" } )
Campos de comando
O comando usa o seguinte campo:
Comportamento
Limitações
For replSetSyncFrom to override the default sync target, settings.chainingAllowed must be set to true.
If settings.chainingAllowed is set to false, replSetSyncFrom returns ok:1 but does not set the sync target.
A partir do MongoDB 5.0.2, você pode substituir settings.chainingAllowed configurando o parâmetro do servidor enableOverrideClusterChainingSetting como true. Isso permite a sincronização de um membro secundário, mesmo que settings.chainingAllowed seja false.
Lógica de sincronização
If an initial sync operation is in progress when you run replSetSyncFrom, replSetSyncFrom stops the in-progress initial sync and restarts the sync process with the new target.
Modifique apenas a lógica de sincronização padrão conforme necessário e sempre tenha cuidado.
Alvo
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.
Persistência
replSetSyncFrom provide a temporary override of default behavior. mongod will revert to the default sync behavior in the following situations:
A instância do
mongodé reiniciada.A conexão entre o
mongode o destino de sincronização é fechada.Se o alvo de sincronização ficar mais de
maxSyncSourceLagSecs(padrão 30) segundos atrás de outro membro do conjunto de réplicas.
For more information the use of replSetSyncFrom, see Configure a Self-Managed Secondary's Sync Target.