Definición
rs.remove(hostname)Elimina el nodo descrito por el parámetro
hostnamedel actual set de réplicas. Esta función desconectará el shell brevemente y forzará una reconexión mientras el set de réplicas vuelve a negociar qué nodo será primario. Como resultado, la shell mostrará un error incluso si este comando se ejecuta correctamente.El método tiene el siguiente
rs.remove()parámetro:ParameterTipoDescripciónhostnamestring
El nombre de host de un sistema en el set de réplicas.
Nota
Antes de ejecutar la operación, es
rs.remove()una buena práctica apagar el miembro del conjunto de réplicas que se va a eliminar.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
Global nivel de confirmación de escritura (write concern)
Eliminar un miembro cambia el número de miembros con derecho a voto en el conjunto de réplicas, lo que puede modificar la preocupación de escritura predeterminada implícita.
Debe establecer explícitamente la preocupación de escritura predeterminada global antes de intentar reconfigurar un conjunto de réplicas con una configuración que modifique la preocupación de escritura predeterminada implícita. Para establecer la preocupación de escritura predeterminada global, utilice el setDefaultRWConcern comando.
La eliminación espera hasta que la mayoría de los miembros instalen la configuración de réplica.
rs.remove() ejecuta el replSetReconfig comando con una configuración que omite al miembro eliminado. El método espera hasta que la mayoría de los miembros del conjunto de réplicas con derecho a voto instalen la nueva configuración de réplica antes de devolver éxito. Un miembro con derecho a voto es cualquier miembro del conjunto de members[n].votes 1réplicas donde sea, incluidos los árbitros. Para saber cómo los miembros del conjunto de réplicas instalan una nueva configuración, consulte Reconfiguración espera hasta que la mayoría de los miembros instalen la configuración de réplica.
rs.remove() no acepta un límite de maxTimeMS. Si la mayoría de los miembros con derecho a voto no instalan la nueva configuración, la operación espera indefinidamente.
Conexiones con el miembro eliminado
Por defecto, los nodos del set de réplicas esperan 5 minutos antes de cerrar las conexiones al nodo eliminado. En sets de réplicas particionados, se puede modificar este tiempo de espera mediante el parámetro del servidor ShardingTaskExecutorPoolHostTimeoutMS.
Para descartar inmediatamente todas las conexiones salientes del set de réplicas al nodo eliminado, ejecutar el comando administrativo dropConnections en cada nodo restante del set de réplicas:
db.adminCommand( { "dropConnections" : 1, "hostAndPort" : [ "<hostname>:<port>" ] } )
Reemplaza <hostname> con el nombre de host del nodo eliminado y <port> con el puerto en el que escuchaba el mongod.