Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Ajuste la prioridad de un set de réplicas autogestionado

La priority La configuración de los miembros del conjunto de réplicas afecta tanto el tiempo como el resultado de Elecciones primarias. Los miembros con mayor prioridad tienen más probabilidades de convocar elecciones y de ganar. Use esta configuración para garantizar que algunos miembros tengan más probabilidades de participar en las primarias y que otros nunca puedan hacerlo.

El valor de la configuración del miembro priority determina su en las elecciones. Cuanto mayor sea el número, mayor será la priority prioridad.

Para modificar las prioridades, actualizas el members arreglo en el objeto de configuración de la réplica. El índice del arreglo comienza con 0. No confunda este valor de índice con el valor del campo members[n]._id del miembro del set de réplicas en el arreglo.

El valor de priority puede ser cualquier número de punto flotante (es decir, decimal) entre 0 1000y. El valor predeterminado del priority campo 1 es.

Para impedir que un miembro se presente como candidato principal, asígnele una prioridad 0 de. Los miembros ocultos y retrasados ​​tienen una prioridad de priority 0establecida en.

Los árbitros tienen prioridad 0.

Ajuste la configuración de prioridad durante una ventana de mantenimiento programada. Reconfigurar la prioridad puede obligar al servidor principal actual a retirarse, lo que da lugar a una elección. Antes de una elección, el servidor principal cierra todas las conexiones de cliente abiertas.

members[n].priority y members[n].votes tienen la siguiente relación:

  • Los nodos sin derecho a voto (es decir, votes es 0) deben tener priority de 0.

  • Los nodos con priority mayor que 0 no pueden tener votes votos.

Por lo tanto, aumentar el priority de un miembro sin derecho a voto requiere establecer el votes a 1 y aumenta el número de miembros con derecho a voto en el set de réplicas. Antes de aumentar la prioridad de un nodo sin derecho a voto, ten en cuenta lo siguiente:

  • MongoDB puede tener sets de réplicas con no más de 7 nodos con derecho a voto. Si el set de réplicas ya tiene 7 nodos con derecho a voto, no puedes modificar la prioridad de ninguno de los nodos restantes del set de réplicas para que sea superior a 0.

  • La reconfiguración de réplicas puede agregar o remover no más de un nodo con derecho a voto a la vez. Para cambiar múltiples nodos sin derecho a voto para que tengan una prioridad mayor que 0, ejecuta una serie de operaciones replSetReconfig o de rs.reconfig() para modificar un nodo a la vez. Consulta Reconfiguration Can Add or remover No More than One Voting nodo at a Time para obtener más información.

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, el mongod cierra 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.

1

En mongosh, use rs.conf() para recuperar la configuración del set de réplicas y asignarla a una variable. Por ejemplo:

cfg = rs.conf()
2

Cambia el valor de members[n].priority de cada nodo, según lo configurado en el arreglo members.

cfg.members[0].priority = 0.5
cfg.members[1].priority = 2
cfg.members[2].priority = 2

Esta secuencia de operaciones modifica el valor de cfg para establecer la prioridad de los tres primeros nodos definidos en el arreglo members.

3

Utiliza rs.reconfig() para aplicar la nueva configuración.

rs.reconfig(cfg)

Esta operación actualiza la configuración del set de réplicas utilizando la configuración definida por el valor de cfg.

Volver

Tutoriales de configuración de nodos

En esta página