Menu Docs
Página inicial do Docs
/ /

Converta um secundário autogerenciado em um árbitro

If you have a secondary in a replica set that no longer needs to hold data but that needs to remain in the set to ensure that the set can elect a primary, you may convert the secondary to an arbiter using either procedure in this tutorial. Both procedures are operationally equivalent:

  1. Se seu aplicativo estiver se conectando diretamente ao secundário, modifique o aplicativo para que as consultas do MongoDB não alcancem o secundário.

  2. Desative o secundário.

  3. Remove the secondary from the replica set by calling the rs.remove() method. Perform this operation while connected to the current primary in mongosh:

    rs.remove("<hostname><:port>")
  4. Verifique se o conjunto de réplicas não inclui mais o secundário chamando o método rs.conf() em mongosh:

    rs.conf()
  5. Mova o diretório de dados do secundário para uma pasta de arquivo. Por exemplo:

    mv /data/db /data/db-old

    Observação

    Opcional

    Você pode remover os dados.

  6. Crie um novo diretório de dados vazio para apontar ao reiniciar a instância do mongod. Você pode reutilizar o nome anterior. Por exemplo:

    mkdir /data/db
  7. Reinicie a instância do mongod para o secundário, especificando o número da porta, o diretório de dados vazio e o conjunto de réplica. Você pode usar o mesmo número de porta que usou antes. Emita um comando semelhante ao seguinte:

    Aviso

    Antes de vincular sua instância a um endereço IP acessível publicamente, você deve proteger seu cluster contra o acesso não autorizado. Para obter uma lista completa de recomendações de segurança, consulte Lista de verificação de segurança para implantações autogerenciadas. No mínimo, considere habilitar a autenticação e fortalecer a infraestrutura de rede.

    mongod --port 27021 --dbpath /data/db --replSet rs --bind_ip localhost,<hostname(s)|ip address(es)>
  8. Em mongosh, converta o secundário em um árbitro usando o método rs.addArb():

    rs.addArb("<hostname><:port>")
  9. Verifique se o árbitro pertence ao conjunto de réplicas chamando o método rs.conf() em mongosh.

    rs.conf()

    O membro árbitro deve incluir o seguinte:

    "arbiterOnly" : true
  1. Se seu aplicativo estiver se conectando diretamente ao secundário ou tiver uma string de conexão fazendo referência ao secundário, modifique o aplicativo para que as consultas do MongoDB não alcancem o secundário.

  2. Crie um novo diretório de dados vazio para ser usado com o novo número da porta. Por exemplo:

    mkdir /data/db-temp
  3. Inicie uma nova instância do mongod no novo número da porta, especificando o novo diretório de dados e o conjunto de réplica existente. Emita um comando semelhante ao seguinte:

    Aviso

    Antes de vincular sua instância a um endereço IP acessível publicamente, você deve proteger seu cluster contra o acesso não autorizado. Para obter uma lista completa de recomendações de segurança, consulte Lista de verificação de segurança para implantações autogerenciadas. No mínimo, considere habilitar a autenticação e fortalecer a infraestrutura de rede.

    mongod --port 27021 --dbpath /data/db-temp --replSet rs --bind_ip localhost,<hostname(s)|ip address(es)>
  4. Em mongosh conectado ao primário atual, converta a nova instância mongod em um árbitro usando o método rs.addArb():

    rs.addArb("<hostname><:port>")
  5. Verifique se o árbitro foi adicionado ao conjunto de réplicas chamando o método rs.conf() em mongosh.

    rs.conf()

    O membro árbitro deve incluir o seguinte:

    "arbiterOnly" : true
  6. Desative o secundário.

  7. Remove the secondary from the replica set by calling the rs.remove() method in mongosh:

    rs.remove("<hostname><:port>")
  8. Verifique se o conjunto de réplicas não inclui mais o secundário antigo chamando o método rs.conf() em mongosh:

    rs.conf()
  9. Mova o diretório de dados do secundário para uma pasta de arquivo. Por exemplo:

    mv /data/db /data/db-old

    Observação

    Opcional

    Você pode remover os dados.

Voltar

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

Nesta página