Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Configurar membro do conjunto de réplicas sem direito a voto

Nesta página

  • Procedimento
  • Documentos relacionados

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 auxiliar mongosh rs.reconfig() para configurar seus valores members[n].votes e members[n].priority para 0. Os membros do conjunto de réplicas sem direito a voto devem ter priority 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éplica de votação de cada vez. Para modificar os votos de vários membros, emita uma série de operações replSetReconfig ou rs.reconfig() para modificar um membro de cada vez. Consulte A reconfiguração pode adicionar ou remover no máximo um membro votante por vez para obter mais informações.

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ável cfg:

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 e priority para 0.

cfg.members[n].votes = 0;
cfg.members[n].priority = 0;

Substitua n pela posição do índice da matriz do membro para modificar. A matriz members é zero-indexada, onde o primeiro elemento na matriz tem uma posição de índice de 0.

A posição do índice da array de um nó na array members é diferente do members[n]._id de um nó específico. Não use _id para fazer referência à posição do índice da array de qualquer nó em members.

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, o mongod 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.

← Configurar um membro do conjunto de réplicas atrasadas