Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Reconfigura un set de réplicas autogestionado con nodos no disponibles

Para reconfigurar un conjunto de réplicas cuando la mayoría de los miembros están disponibles, utilice el rs.reconfig() operación en el primario actual, siguiendo el ejemplo en el Procedimiento de reconfiguración del set de réplicas.

Este documento proporciona pasos para volver a configurar un set de réplicas cuando solo una minoría de los miembros son accesibles.

Es posible que debas utilizar el procedimiento, por ejemplo, en un set de réplicas distribuido geográficamente, donde ningún grupo local de nodos pueda alcanzar una mayoría. Consulta Elecciones de sets de réplicas para obtener más información sobre esta situación.

Este procedimiento le permite recuperarse cuando la mayoría de los miembros del conjunto de réplicas están caídos o no se pueden alcanzar. Te conectas con cualquier nodo superviviente y usas la opción force en el método rs.reconfig().

La opción force fuerza una nueva configuración en el nodo. Utilice este procedimiento solamente para recuperarse de interrupciones catastróficas. No utilices force cada vez que recuadras. Además, no utilices la opción force en ningún script automático y no utilices force cuando aún haya un primario.

Advertencia

La reconfiguración forzada puede causar un comportamiento inesperado, como la rollback de "majority" escrituras ya confirmadas.

Para forzar la reconfiguración:

  1. Respaldar a un miembro sobreviviente.

  2. Conéctese a un miembro superviviente y guarde la configuración actual. Considere los siguientes comandos de ejemplo para guardar la configuración:

    cfg = rs.conf()
    printjson(cfg)
  3. En el mismo nodo, remueve los nodos inactivos y no disponibles del set de réplicas del arreglo members configurando el arreglo para que contenga solo los nodos sobrevivientes. Considera el siguiente ejemplo, que usa la variable cfg creada en el paso anterior:

    cfg.members = [cfg.members[0] , cfg.members[4] , cfg.members[7]]
  4. En el mismo nodo, reconfigura el conjunto usando el comando rs.reconfig() con la opción force establecida en true:

    rs.reconfig(cfg, {force : true})

    Esta operación fuerza a la secundaria a usar la nueva configuración. La configuración se propaga luego a todos los miembros que sobreviven listados en el members arreglo. Luego, el set de réplicas elige un nuevo primario.

    Nota

    Al usar force : true, el número de versión en la configuración del conjunto de réplicas aumenta significativamente, en decenas o centenas de miles. Esto es normal y está diseñado para evitar colisiones de versiones del conjunto si, accidentalmente, se fuerzan reconfiguraciones en ambos lados de una partición de red y, posteriormente, la partición de red finaliza.

  5. Si el fallo o partición fue sólo temporal, apaga o desactiva los nodos eliminados lo antes posible.

Tip

Volver

Configurar conjuntos de etiquetas de set de réplicas

En esta página