Cada miembro de un conjunto de réplicas tiene un estado.
Número | Nombre | Descripción del estado |
|---|---|---|
0 | No eres todavía un nodo activo de ningún set. Todos los miembros se inician en este estado. El | |
1 | El nodo en estado primario es el único nodo que puede aceptar operaciones de guardado. Elegible para votar. | |
2 | ||
3 | Los nodos pueden realizar autocomprobaciones de inicio o pasar de completar un rollback o una resincronización. No hay datos disponibles para lecturas de este nodo. Elegible para votar. | |
5 | El nodo está ejecutando una sincronización inicial. Puede votar, salvo cuando se ha añadido recientemente al set de réplicas. | |
6 | El estado del miembro, tal como lo ve otro miembro del conjunto, aún no se conoce. | |
7 | Los árbitros no replican datos y su único propósito es participar en las elecciones. Tienen derecho a voto. | |
8 | El miembro, visto desde otro miembro del conjunto, es inalcanzable. | |
9 | ||
10 | Este nodo perteneció a un set de réplicas, pero luego se eliminó. |
Estados
Estados Centrales
PRIMARYLos miembros en estado
PRIMARYaceptan operaciones de guardar. Un set de réplicas tiene como máximo un primario a la vez. [1] Un nodoSECONDARYse convierte en primario después de una elección. Los miembros en el estadoPRIMARYson elegibles para votar.
SECONDARYLos miembros en el estado
SECONDARYreplican el conjunto de datos del principal y se pueden configurar para aceptar operaciones de lectura. Los secundarios son elegibles para votar en elecciones y pueden ser elegidos para el estado dePRIMARYsi el primario no está disponible.
ARBITERLos nodos en el estado
ARBITERno replican datos ni aceptan operaciones de escritura. Son elegibles para votar y existen únicamente para desempatar durante las elecciones. Los sets de réplicas solo deben tener un nodo en el estado deARBITERsi el set, de lo contrario, tendría un número par de nodos con derecho a voto y podría sufrir elecciones empatadas. Solo debe haber como máximo un árbitro configurado en cualquier set de réplicas. Para consideraciones al usar un árbitro, consulte Árbitro del set de réplicas.
Consulta Miembros de set de réplicas para obtener más información sobre los estados principales.
Otros estados
STARTUPCada miembro de un conjunto de réplicas se inicia en
STARTUPel estado. A continuación, carga lamongodconfiguración del conjunto de réplicas de ese miembro y cambia su estado a o.STARTUP2Los miembros en no pueden votar, ya que aún no son miembrosARBITERSTARTUPreconocidos de ningún conjunto de réplicas.
STARTUP2Modificado en la versión 5.0.
Cada nodo portador de datos de un set de réplicas entra en el estado de
STARTUP2tan pronto comomongodfinaliza la carga de la configuración de ese nodo.Luego el nodo decide si realiza o no una sincronización inicial. si un nodo inicia una sincronización inicial, el nodo permanece en
STARTUP2hasta que se copian todos los datos y se compilan todos los índices. Después, el nodo procede aRECOVERING.Los miembros recién agregados en no pueden votar ni ser elegidos durante el proceso de sincronización inicial. Antes de
STARTUP2MongoDB,5.0 los miembros en sí podíanSTARTUP2votar.
RECOVERINGUn nodo de un set de réplicas entra en estado
RECOVERINGcuando no está listo para aceptar lecturas. El estadoRECOVERINGpuede ocurrir durante la operación normal y no necesariamente refleja una condición de error. Los nodos en el estadoRECOVERINGson aptos para votar en las elecciones, pero no pueden entrar al estadoPRIMARY.Un nodo pasa de
RECOVERINGaSECONDARYdespués de replicar suficientes datos para garantizar una vista coherente de los datos para las lecturas de los clientes. La única diferencia entreRECOVERINGySECONDARYestados es queRECOVERINGprohíbe las lecturas del cliente ySECONDARYlas permite.SECONDARY<a class=\" \" target=\" \" href=\" \""=""> El estado no garantiza nada sobre la obsolescencia de los datos con respecto al primario.Debido a la sobrecarga, un secundario puede quedarse tan atrás de los otros miembros del set de réplicas que quizás deba resincronizarse con el resto del set. Cuando esto ocurre, el nodo entra en el estado
RECOVERINGy requiere intervención manual.
ROLLBACKCada vez que el set de réplicas reemplaza a un primario en una elección, el primario anterior puede contener documentos que no se replicaron a los miembros secundarios. En este caso, el miembro primario anterior revierte esas escrituras. Durante el rollback, el nodo tendrá el estado
ROLLBACK. Los nodos en el estadoROLLBACKpueden votar en las elecciones.A partir de la versión 4.2, MongoDB mata todas las operaciones de usuario en curso cuando un nodo entra en el estado
ROLLBACK.
Estados de error
Los miembros en cualquier estado de error no pueden votar.
UNKNOWNLos miembros que nunca han comunicado información de estado al set de réplicas se encuentran en el estado
UNKNOWN.
DOWNLos nodos que pierden su conexión con el conjunto de réplicas son vistos como
DOWNpor los nodos restantes del conjunto.
REMOVEDLos miembros que se eliminan del set de réplicas entran en el estado
REMOVED. Cuando los miembros entran en el estadoREMOVED, los registros marcarán este evento con una entrada de mensajereplSet REMOVED.
| [1] | En algunas circunstancias, dos nodos en un set de réplicas pueden creer transitoriamente que son los primarios, pero como mucho, uno de ellos podrá completar escrituras con el nivel de confirmación de escritura { w:
"majority" }. El nodo que puede completar { w: "majority" } escrituras es el primario actual, y el otro nodo es un ex primario que aún no ha reconocido su descenso de categoría, típicamente debido a una partición de red. Cuando esto ocurre, los clientes que se conectan al antiguo primario pueden observar la presencia de datos obsoletos a pesar de haber solicitado la preferencia de lectura primary, y las nuevas escrituras en el antiguo primario eventualmente se revertirán. |