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
Em
mongosh, esse comando também pode ser executado por meio do método auxiliarrs.syncFrom().Os métodos auxiliares são práticos para os usuários
mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.Execute
replSetSyncFromno banco de dadosadmin.
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 é suportado em clusters MongoDB Atlas . Para obter informações sobre o suporte do Atlas para 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
Para que replSetSyncFrom substitua o destino de sincronização padrão, settings.chainingAllowed deve ser definido como true.
Se settings.chainingAllowed estiver definido como false, replSetSyncFrom retornará ok:1, mas não definirá o destino de sincronização.
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
Se uma operação de sincronização inicial estiver em andamento ao executar o replSetSyncFrom, o replSetSyncFrom 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.
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 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:
Para obter mais informações sobre o uso de replSetSyncFrom, consulte Configurar o destino de sincronização de um secundário autogerenciado.