Los miembros ocultos son parte de un set de réplicas pero no puede convertirse en primario y es invisible para las aplicaciones cliente. Los miembros ocultos pueden votar en elecciones. Para obtener más información sobre los miembros ocultos y sus usos, consulte Miembros ocultos de un set de réplicas.
Considerations
El uso más común de los nodos ocultos es permitir las copias de seguridad.
También puedes usar nodos ocultos para admitir miembros atrasados. Sin embargo, si solo necesitas evitar que un nodo se convierta en principal, configura un nodo con prioridad 0.
Si el La configuración settings.chainingAllowed permite a los secundarios sincronizar desde otros secundarios, MongoDB prefiere los miembros no ocultos a los miembros ocultos como destinos de sincronización. MongoDB solo elige los miembros ocultos como último recurso. Para anular este comportamiento y sincronizar desde un miembro oculto específico, utiliza el comando de base de datos replSetSyncFrom.
Ejemplos
Documento de configuración de nodos
Para configurar a un nodo secundario como oculto, establece su valor members[n].priority en 0 y su valor members[n].hidden en true en su configuración de nodo:
{ "_id" : <num> "host" : <hostname:port>, "priority" : 0, "hidden" : true }
Procedimiento de configuración
El siguiente ejemplo oculta el miembro secundario que actualmente se encuentra en el índice 0 en el members arreglo. Para configurar un miembro oculto, utilice la siguiente secuencia de operaciones en un
mongosh sesión que está conectada al principal, especificando el nodo que se debe configurar mediante su índice de arreglo en la members arreglo:
cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true rs.reconfig(cfg)
Después de reconfigurar el conjunto, este miembro secundario tiene una prioridad de 0 de modo que no pueda convertirse en primario y esté oculto. Los otros nodos del conjunto no anunciarán el miembro oculto en el comando hello o en la salida del método db.hello().
Al actualizar el objeto de configuración del set de réplicas, accede a los miembros del set de réplicas en el arreglo members con el índice del arreglo. El índice del arreglo comienza con 0. No confunda este valor de índice con el valor del campo members[n]._id en cada documento de la arreglo members.
Advertencia
El método de shell
rs.reconfig()puede forzar el traspaso del primario actual, lo que provoca una elección. Cuando el primario renuncia, elmongodcierra todas las conexiones de los clientes. Aunque esto generalmente toma entre 10 y 20 segundos, intente hacer estos cambios durante los periodos de mantenimiento programados.Evitar reconfigurar sets de réplicas que contengan miembros de diferentes versiones de MongoDB, ya que las reglas de validación pueden diferir entre versiones de MongoDB.