sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo inicializar el conjunto de replicación mongodb sin llamar a rs.initiate ()?

Respuesta corta / tl;dr

No.

Respuesta un poco más larga

No, porque tiene sentido usar el shell.

Respuesta

Cuando configura un conjunto de réplicas, normalmente tiene más de un miembro. Hasta que se inicialice el conjunto de réplicas, ninguno de los miembros tiene la configuración necesaria. El nodo en el que inicializa el conjunto de réplicas se convierte en principal y almacena la configuración. Ahora agrega miembros usando rs.add comando o usando rs.reconfig . Lo que sucede entonces es que el contacto principal se pone en contacto con el miembro agregado, la configuración se sincroniza y algunas otras cosas. Es una buena práctica que los miembros ordinarios del conjunto de réplicas sean iguales para que uno de los nodos falle, no hay inconveniente de que otro nodo se convierta en principal y, por lo tanto, el nuevo principal puede seguir siendo principal hasta que deje de funcionar por algún motivo u otro.

Entonces, si iniciara un miembro del conjunto de réplicas, ¿de dónde debería obtener su configuración? ¿Decidir por sí mismo lo que tiene que hacer? Eso no funcionaría bien en un clúster. ¿Cómo debería descubrir a los otros miembros y su configuración? Recuerde, los miembros del conjunto de réplicas pueden estar en diferentes centros de datos. Y si hubiera un --IamPrimaryDoAsISay opción, ¿qué pasaría si hubiera otro primario actualmente en el clúster? ¿Y cómo se debe tratar una situación en la que más de un miembro se inició con esa opción? ¿Un paso hacia abajo del otro servidor? ¿Puede ser solo porque reemplazaste un enfriador? ¿O la instancia recién iniciada no debería hacer nada cuando ya había una primaria? ¿Qué sentido tendría entonces la opción en primer lugar?

¿Y todas estas complicaciones solo para evitar un solo comando desde el shell?

Nota:si desea un solo servidor, simplemente inicie una instancia independiente (un mongod sin el --replSet opción).Si desea explorar las posibilidades de un conjunto de réplicas, necesita más de un miembro.