Overview
En un conjunto de réplicas, de forma predeterminada, todos Los miembros secundarios pueden convertirse en miembros principales mediante el proceso electoral. Puede usar el priority afectar el resultado de estas elecciones haciendo que algunos miembros tengan más probabilidades de convertirse en candidatos primarios y otros miembros tengan menos probabilidades o no puedan convertirse en candidatos primarios.
Las secundarias que no pueden convertirse en primarias tampoco pueden convocar elecciones. En todos los demás aspectos, estas secundarias son idénticas a las demás.
Para evitar que un miembro secundario se convierta en principal en una conmutación por error, asígnele una 0 prioridad 0 de, como se describe aquí. Para obtener una descripción detallada de los miembros solo secundarios y sus propósitos, consulte Miembros del conjunto de réplicas con prioridad.
Considerations
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.
Nota
MongoDB no permite que la base de datos principal actual tenga una prioridad 0 de. Para evitar que vuelva a serlo, primero debe reducir su prioridad rs.stepDown() usando.
Procedimiento
Este tutorial utiliza un conjunto de réplicas de muestra con 5 miembros.
Advertencia
El
rs.reconfig()método de shell puede forzar la desconexión del servidor principal actual, lo que provoca una elección. Cuando la desconexión del servidor principal se produce, elmongodmétodo cierra todas las conexiones de cliente. Aunque esto suele tardar 10entre y20 segundos, intente realizar 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.
Recupere la configuración actual del conjunto de réplicas.
El método rs.conf() devuelve un documento de configuración de conjunto de réplicas que contiene la configuración actual de un conjunto de réplicas.
mongoshEn, cuando se conecta a un primario, ejecuta el método y asigna el resultado a una rs.conf() variable:
cfg = rs.conf()
El documento devuelto contiene un members campo que contiene una matriz de documentos de configuración de miembros, un documento para cada miembro del conjunto de réplicas.
Asignar valor de prioridad 0 de.
Para evitar que un miembro secundario se convierta en principal, actualice el del miembro secundario members[n].priority 0a.
Para asignar un valor de prioridad a un miembro del conjunto de réplicas, acceda al documento de configuración del miembro mediante el índice de la matriz. En este tutorial, el miembro secundario que se debe cambiar corresponde al documento de configuración que se encuentra en la posición 2 de la members matriz.
cfg.members[2].priority = 0
El cambio de configuración no tendrá efecto hasta que reconfigure el conjunto de réplicas.
Reconfigurar el conjunto de réplicas.
Utilice el método para reconfigurar el conjunto de réplicas con el documento de configuración del conjunto de réplicas rs.reconfig() actualizado.
Pase la cfg variable al rs.reconfig() método:
rs.reconfig(cfg)