Docs Menu
Docs Home
/ /
Implementar
/ / /

Remueve nodos de un set de réplicas autogestionado

Para eliminar a un miembro de una conjunto de réplicas utilice cualquiera de los siguientes procedimientos.

  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 servidor principal actual del conjunto de réplicas. Para determinarlo, utilice db.hello() mientras esté conectado a cualquier miembro del conjunto de réplicas.

  3. Utilice en cualquiera de las siguientes formas para eliminar el rs.remove() 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.

Puede eliminar un miembro reconfigurando el conjunto de réplicas mediante un members documento de configuración de réplica donde ese miembro se elimina de la matriz.

rs.reconfig() permite añadir o eliminar un máximo 1 voting de miembros a la vez. Para eliminar varios miembros con derecho a voto del conjunto de réplicas, ejecute una serie de rs.reconfig() operaciones para eliminar un miembro a la vez.Consulte "Reconfiguración: No se puede añadir ni eliminar más de un miembro con derecho a voto 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 servidor principal actual del conjunto de réplicas. Para determinarlo, utilice db.hello() mientras esté conectado a cualquier miembro del conjunto 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 está 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. Modifique el objeto cfg para eliminar el miembro.

    Ejemplo

    Para eliminar mongod_C.example.net:27017 utilice la siguiente operación de JavaScript:

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

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

    Para el ejemplo anterior, el resultado 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 un árbitro

En esta página