Configurar um membro do conjunto de réplicas autogerenciadas ocultas
Nesta página
Os membros ocultos fazem parte de umconjunto de réplicas , mas não podem se tornar primários e são invisíveis para os aplicativos cliente . Membros ocultos podem votar em eleições. Para obter mais informações sobre membros ocultos e seus usos, consulte Membros ocultos do conjunto de réplicas.
Considerações
O uso mais comum de nós ocultos é para oferecer suporte a backups.
Você também pode usar nós ocultos para oferecer suporte a membros atrasados. No entanto, se você precisar apenas impedir que um nó se torne primário, configure um nó com prioridade 0.
Se a configuração settings.chainingAllowed
permitir que membros secundários sincronizem a partir de outros secundários, o MongoDB, por padrão, preferirá membros não ocultos a membros ocultos ao selecionar um destino de sincronização. O MongoDB escolherá apenas membros ocultos como último recurso. Se você quiser que um secundário sincronize a partir de um membro oculto, use o comando replSetSyncFrom
database para substituir o destino de sincronização padrão. Consulte a documentação para replSetSyncFrom
antes de utilizar o comando.
Exemplos
Documento de configuração do membro
Para configurar um membro secundário como oculto, defina seu valor members[n].priority
como 0
e defina seu valor members[n].hidden
como true
em sua configuração de membro:
{ "_id" : <num> "host" : <hostname:port>, "priority" : 0, "hidden" : true }
Procedimento de configuração
O exemplo a seguir oculta o membro secundário atualmente no índice 0
na array members
. Para configurar um nó oculto, use a seguinte sequência de operações em uma sessão mongosh
conectada à principal, especificando o membro a ser configurado por seu índice de array na array members
:
cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true rs.reconfig(cfg)
Depois de reconfigurar o conjunto, esse nó secundário tem uma prioridade de 0
para que não possa se tornar primary, e é ocultado. Os outros nós do conjunto não anunciarão o nó oculto na saída do comando hello
ou do método db.hello()
.
Ao atualizar o objeto de configuração da réplica, acesse os membros do conjunto de réplicas na array members
com o índice da array. O índice da array começa com 0
. Não confunda esse valor de índice com o valor do campo members[n]._id
em cada documento da array members
.
Aviso
O método
rs.reconfig()
shell pode forçar o primário atual a se retirar, o que causa uma eleição. Quando as etapas primárias são desativadas, omongod
fecha todas as conexões do cliente. Embora isso normalmente leve de 10 a 20 segundos, tente fazer essas alterações durante os períodos de manutenção programados.Evite reconfigurar conjuntos de réplicas que contenham membros de diferentes versões do MongoDB, pois as regras de validação podem diferir entre as versões do MongoDB.