Los miembros ocultos son parte de un Conjunto de réplicas, pero no pueden convertirse en principales y son invisibles para las aplicaciones cliente. Los miembros ocultos pueden votar en las elecciones. Para más información sobre los miembros ocultos y sus usos, consulte Miembros ocultos del conjunto 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 settings.chainingAllowed La configuración permite que los miembros secundarios sincronicen desde otros secundarios, MongoDB por defecto prefiere miembros no ocultos sobre miembros ocultos al seleccionar un objetivo de sincronización. MongoDB solo elegirá miembros ocultos como último recurso. Si deseas que una secundaria se sincronice desde un miembro oculto, utiliza el comando de base de datos replSetSyncFrom para anular el objetivo de sincronización predeterminado. Consulta la documentación de replSetSyncFrom antes de utilizar el comando.
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 actualmente en el índice 0 en el arreglo members. Para configurar un miembro oculto, utiliza la siguiente secuencia de operaciones en una sesión de mongosh que esté conectada al primario, especificando el miembro a configurar por su índice en el members arreglo:
cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true rs.reconfig(cfg)
Tras reconfigurar el conjunto, este miembro secundario tiene una prioridad de,0 por lo que no puede convertirse en principal y queda oculto. Los demás miembros del conjunto no anunciarán el miembro oculto en la hello salida del comando ni db.hello() del método.
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.