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
/ /

Remueve nodos de un set de réplicas autogestionado

Para remover a un nodo de un conjunto de réplicas utilice cualquiera de los siguientes procedimientos.

  1. Apaga la instancia mongod para el nodo que deseas remover. Para apagar la instancia, conectar usando mongosh y a usar el método db.shutdownServer().

  2. Conéctese al primario actual del set de réplicas. Para determinar el primario actual, utiliza db.hello() mientras estés conectado a cualquier nodo del set de réplicas.

  3. Usa rs.remove() en cualquiera de los siguientes formularios para remover al miembro:

    rs.remove("mongod3.example.net:27017")
    rs.remove("mongod3.example.net")

    MongoDB puede desconectar el shell brevemente si el conjunto de réplicas necesita elegir una nueva réplica principal. En tales casos, el shell se reconecta automáticamente. El shell puede mostrar un error DBClientCursor::init call() failed incluso si el comando se ejecuta correctamente.

Puedes remover un nodo volviendo a configurar el set de réplicas utilizando un documento de configuración de réplicas donde ese nodo se remueva del arreglo members.

rs.reconfig() permite agregar o remover no más de 1 voting nodo a la vez. Para remover varios miembros con derecho a voto del set de réplicas, realizada una serie de operaciones de rs.reconfig() para remover un nodo a la vez. Consulta La reconfiguración puede agregar o remover a no más de un nodo votante a la vez para obtener más información.

  1. Cierre la instancia del miembro que desea mongod eliminar. Para cerrar la instancia, conéctese mediante y mongosh db.shutdownServer() use el método.

  2. Conéctese al primario actual del set de réplicas. Para determinar el primario actual, utiliza db.hello() mientras estés conectado a cualquier nodo del set de réplicas.

  3. Emite el método rs.conf() para ver el documento de configuración actual y determinar la posición en el arreglo members del nodo a remover:

    Ejemplo

    mongod_C.example.net se encuentra en la posición 2 del siguiente archivo de configuración:

    {
    "_id" : "rs",
    "version" : 7,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongod_A.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongod_B.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongod_C.example.net:27017"
    }
    ]
    }
  4. Asignar el documento de configuración actual a la variable cfg:

    cfg = rs.conf()
  5. Modifica el objeto cfg para remover el nodo.

    Ejemplo

    Para remover mongod_C.example.net:27017, utiliza la siguiente operación JavaScript:

    cfg.members.splice(2,1)
  6. Sobrescribe el documento de configuración del set de réplicas con la nueva configuración emitiendo lo siguiente:

    rs.reconfig(cfg)
  7. Para confirmar la nueva configuración, emite rs.conf().

    Para el ejemplo anterior, la salida sería:

    {
    "_id" : "rs",
    "version" : 8,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongod_A.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongod_B.example.net:27017"
    }
    ]
    }

Volver

Agregar miembros a un set de réplicas

En esta página