Modo replica set
Presenta el clúster como un replica set para las aplicaciones que conectan con replicaSet=.
Por defecto cada nodo se presenta a los drivers como un mongos. Si una aplicación o herramienta espera un replica set
(conecta con replicaSet=, lee el oplog o usa los comandos replSet*), cambia la presentación en caliente, sin
reiniciar ningún nodo.
Requisitos
- Un clúster en marcha y acceso a
teseladb admindesde uno de sus nodos. - Un nombre para el replica set, el que pondrán tus aplicaciones en
replicaSet=.
Cambiar la presentación
teseladb admin topology set replicaset --name rs0También puedes cambiarla desde mongosh con el parámetro de clúster topologyPresentation, con el mismo efecto que la
orden de administración.
Qué ven los drivers
El nodo designado responde a hello como primario y los demás como secundarios, con setName, hosts, primary y
electionId. Si el designado deja de estar vivo, el clúster designa otro por su cuenta y los drivers lo ven como una
elección de MongoDB.
mongodb://node-01:27017,node-02:27017,node-03:27017/?replicaSet=rs0&tls=trueOplog
local.oplog.rs es una colección de solo lectura que se genera a partir de las versiones de los documentos. Las
herramientas que leen el oplog y mongodump --oplog funcionan en los dos modos. applyOps aplica entradas como en
MongoDB.
Comprobar
En mongosh, db.hello() devuelve setName: "rs0" y el nodo que hace de primario en primary.
Problemas frecuentes
- Si el driver no encuentra un primario, el nombre de
replicaSet=en la cadena no coincide con el--nameque diste al cambiar la presentación.
Ver también
- Sharding y zonas, la presentación por defecto.
- Diferencias con MongoDB, donde está la lectura del oplog con la presentación
mongos.