Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Converta um secundário autogerenciado em um árbitro

Se você tiver um secundário em um conjunto de réplicas que não precisa mais manter os dados, mas que precisa permanecer no conjunto para garantir que o conjunto possa eleger um primário, você poderá converter o secundário em um árbitro usando qualquer um dos procedimentos deste tutorial. Ambos os procedimentos são operacionalmente equivalentes:

  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. Remova a secundária do conjunto de réplicas chamando o rs.remove() método. Execute esta operação enquanto estiver conectado ao primário atual mongoshem:

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

    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. mongosh Em,rs.addArb() converta o secundário em um árbitro usando o método:

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

    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 conectado ao primário mongosh atual, converta a nova instância em mongod rs.addArb() um árbitro usando o método:

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

    rs.conf()

    O membro árbitro deve incluir o seguinte:

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

  7. Remova a secundária do conjunto de réplicas chamando o rs.remove() método mongosh em:

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

    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.