Overview
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.
Considerations
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.
Prioridad y votos
members[n].priority y members[n].votes tienen la siguiente relación:
Los nodos sin derecho a voto (es decir,
voteses0) deben tenerpriorityde 0.Los nodos con
prioritymayor que 0 no pueden tenervotesvotos.
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 operacionesreplSetReconfigo ders.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.
Procedimiento
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.
Cambiar el valor de prioridad de cada nodo.
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.
Asigne al set de réplicas la nueva configuración.
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.