Docs Menu
Docs Home
/ /
Configurar
/ / /

Convertir un secundario autogestionado en un árbitro

Si tienes una Si el secundario de un conjunto de réplicas ya no necesita almacenar datos, pero debe permanecer en el conjunto para garantizar que este pueda elegir un primario, puede convertir el secundario en árbitro mediante cualquiera de los procedimientos de este tutorial. Ambos procedimientos son operativamente equivalentes:

  1. Si su aplicación se conecta directamente a la secundaria, modifique la aplicación para que las consultas de MongoDB no lleguen a la secundaria.

  2. Apague el secundario.

  3. Elimine el secundario del conjunto de réplicas llamando al rs.remove()Método. Realice esta operación mientras esté conectado al primario actual mongosh en:

    rs.remove("<hostname><:port>")
  4. Verifique que el conjunto de réplicas ya no incluya el secundario llamando al rs.conf() método mongosh en:

    rs.conf()
  5. Mueva el directorio de datos del secundario a una carpeta de archivo. Por ejemplo:

    mv /data/db /data/db-old

    Nota

    Opcional

    En su lugar, puedes eliminar los datos.

  6. Cree un nuevo directorio de datos vacío al que apuntar al reiniciar la instancia. Puede reutilizar el nombre anterior. Por mongod ejemplo:

    mkdir /data/db
  7. Reinicie la instancia para la instancia secundaria, especificando el número de puerto, el directorio de datos vacío y el conjunto de réplicas. Puede usar el mismo número de puerto que usó antes. Ejecute un comando similar al mongod siguiente:

    Advertencia

    Antes de vincular una dirección IP que no sea local (por ejemplo, de acceso público), asegúrese de proteger su clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, consulte la Lista de verificación de seguridad para implementaciones autogestionadas. Como mínimo, considere habilitar la autenticación y reforzar la infraestructura de red.

    mongod --port 27021 --dbpath /data/db --replSet rs --bind_ip localhost,<hostname(s)|ip address(es)>
  8. En convierte el secundario mongosh rs.addArb() en un árbitro utilizando el método:

    rs.addArb("<hostname><:port>")
  9. Verifique que el árbitro pertenezca al conjunto de réplicas llamando al rs.conf() método mongosh en.

    rs.conf()

    El miembro árbitro deberá incluir lo siguiente:

    "arbiterOnly" : true
  1. Si su aplicación se conecta directamente al secundario o tiene una cadena de conexión que hace referencia al secundario, modifique la aplicación para que las consultas de MongoDB no lleguen al secundario.

  2. Cree un nuevo directorio de datos vacío para usarlo con el nuevo número de puerto. Por ejemplo:

    mkdir /data/db-temp
  3. Inicia una nueva instancia mongod en el nuevo número de puerto, especificando el nuevo directorio de datos y el set de réplicas existente. Emite un comando similar al siguiente:

    Advertencia

    Antes de vincular una dirección IP que no sea local (por ejemplo, de acceso público), asegúrese de proteger su clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, consulte la Lista de verificación de seguridad para implementaciones autogestionadas. Como mínimo, considere habilitar la autenticación y reforzar la infraestructura de red.

    mongod --port 27021 --dbpath /data/db-temp --replSet rs --bind_ip localhost,<hostname(s)|ip address(es)>
  4. En conectado al principal mongosh actual, convierta la nueva instancia en mongod rs.addArb() un árbitro utilizando el método:

    rs.addArb("<hostname><:port>")
  5. Verifique que el árbitro se haya agregado al conjunto de réplicas llamando al rs.conf() método mongosh en.

    rs.conf()

    El miembro árbitro deberá incluir lo siguiente:

    "arbiterOnly" : true
  6. Apague el secundario.

  7. Elimine el secundario del conjunto de réplicas llamando al rs.remove() método mongosh en:

    rs.remove("<hostname><:port>")
  8. Verifique que el conjunto de réplicas ya no incluya la réplica secundaria anterior llamando al rs.conf() método mongosh en:

    rs.conf()
  9. Mueva el directorio de datos del secundario a una carpeta de archivo. Por ejemplo:

    mv /data/db /data/db-old

    Nota

    Opcional

    En su lugar, puedes eliminar los datos.

Volver

Bloquear prioridad secundaria

En esta página