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 admin desde uno de sus nodos.
  • Un nombre para el replica set, el que pondrán tus aplicaciones en replicaSet=.

Cambiar la presentación

Shell
teseladb admin topology set replicaset --name rs0

Tambié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=true

Oplog

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 --name que diste al cambiar la presentación.

Ver también