Los miembros sin derecho a voto le permiten agregar miembros adicionales para la distribución de lectura más allá del máximo de siete miembros con derecho a voto.
Para configurar a un miembro como sin derecho a voto, utilice el
replSetReconfigEl comando o su mongosh método auxiliar rs.reconfig() establecen sus valores members[n].votes members[n].priority y 0 en. Los miembros del conjunto de réplicas sin derecho a voto deben tener un valor de igual priority a.0
Nota
La reconfiguración de réplicas no puede agregar ni eliminar más de un miembro con derecho a voto del conjunto de réplicas a la vez. Para modificar los votos de varios miembros, ejecute una serie de replSetReconfig operaciones o para modificar rs.reconfig() un miembro a la vez. Consulte "La reconfiguración no puede agregar ni eliminar más de un miembro con derecho a voto a la vez" para obtener más información.
Procedimiento
El siguiente procedimiento convierte un único miembro del conjunto de réplicas secundario en un miembro sin derecho a voto. Para convertir el miembro principal en un miembro sin derecho a voto, primero debe reducirlo correctamente mediante o su replSetStepDown rs.stepDown() ayudante de shell antes de realizar este procedimiento.
- 1) Conectarse al conjunto de réplicas principal
Conecte al conjunto de
mongoshréplicas principal:mongosh --host "<hostname>:<port>" Reemplace
<hostname>y<port>con el nombre de host y el puerto del conjunto de réplicas principal. Incluya cualquier otro parámetro necesario para su implementación.- 2) Recuperar la configuración de la réplica
Emita el método en el shell y asigne el resultado a una
rs.conf()variable:cfgcfg = rs.conf(); El documento devuelto contiene una matriz, donde cada elemento de la matriz contiene la configuración de un solo miembro del conjunto de
membersréplicas.- 3) Configurar el miembro para que no tenga derecho a voto
Para que el miembro de réplica cambie a no votante, configure sus
votespriorityy0en.cfg.members[n].votes = 0; cfg.members[n].priority = 0; Reemplace
ncon la posición de índice del miembro que se va a modificar. Elmembersarray tiene índice cero, donde el primer elemento del array tiene la posición de0índice.La posición del índice de un miembro de la
membersmatriz es distinta del demembers[n]._idun miembro específico. No utilice el para referenciar la posición del índice de ningún_idmiembro de lamembersmatriz.- 4) Reconfigurar el conjunto de réplicas con la nueva configuración
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.rs.reconfig(cfg);
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.