Configurar um membro do conjunto de réplicas autogerenciadas sem direito a voto
Nesta página
Membros sem direito a voto permitem que você adicione membros adicionais para distribuição de leitura além do máximo de sete membros votantes.
Para configurar um membro como não votante, utilize o comando replSetReconfig
ou seu método de assistentemongosh
rs.reconfig()
para configurar seus valoresmembers[n].votes
emembers[n].priority
para 0
. Os membros do conjunto de réplicas sem direito a voto devem terpriority
de 0
.
Observação
A reconfiguração da réplica não pode adicionar ou remover mais do que um membro do conjunto de réplicas votantes por vez. Para modificar os votos de vários nós, emita uma série de operações replSetReconfig
ou rs.reconfig()
para modificar um nó de cada vez. Consulte Reconfiguração pode adicionar ou remover no máximo um nó votante por vez para obter mais informações.
Procedimento
O procedimento a seguir converte e configura um único nó secundário do conjunto de réplicas como não votante. Para converter o nó primário em não votante, você deve primeiro fazer o stepdown do primário usando replSetStepDown
ou seu auxiliar de shell rs.stepDown()
antes de executar esse procedimento.
- 1) Conecte-se ao conjunto de réplicas primário
Conecte
mongosh
ao conjunto de réplicas primário:mongosh --host "<hostname>:<port>" Substitua
<hostname>
e<port>
pelo nome do host e pela porta do conjunto de réplicas primário. Inclua quaisquer outros parâmetros necessários para sua implantação.- 2) Recuperar a configuração da réplica
Emitir o método
rs.conf()
na casca e atribuir o resultado a uma variávelcfg
:cfg = rs.conf(); O documento retornado contém uma array
members
, onde cada elemento na array contém a configuração para um único nó do conjunto de réplicas.- 3) Configure o nó como não votante
Para que o nó da réplica altere para não votantes, configure
votes
epriority
para0
.cfg.members[n].votes = 0; cfg.members[n].priority = 0; Substitua
n
pela posição do índice da matriz do membro para modificar. A matrizmembers
é zero-indexada, onde o primeiro elemento na matriz tem uma posição de índice de0
.A posição do índice da array de um nó na array
members
é diferente domembers[n]._id
de um nó específico. Não use_id
para fazer referência à posição do índice da array de qualquer nó emmembers
.- 4) Reconfigure o conjunto de réplicas com a nova configuração
Use o método
rs.reconfig()
para reconfigurar o conjunto de réplicas com o documento de configuração do conjunto de réplicas atualizado.rs.reconfig(cfg);
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.