Tutorial del conjunto de réplicas de MongoDB: ejemplo de réplica paso a paso

Tabla de contenido:

Anonim

¿Qué es la replicación de MongoDB?

La replicación se refiere al proceso de asegurar que los mismos datos estén disponibles en más de un Mongo DB Server. En ocasiones, esto es necesario con el fin de aumentar la disponibilidad de datos.

Porque si su servidor principal de MongoDB deja de funcionar por cualquier motivo, no habrá acceso a los datos. Pero si tenía los datos replicados en otro servidor a intervalos regulares, podrá acceder a los datos desde otro servidor incluso si el servidor principal falla.

Otro propósito de la replicación es la posibilidad de balancear la carga. Si hay muchos usuarios que se conectan al sistema, en lugar de que todos se conecten a un sistema, los usuarios pueden conectarse a varios servidores para que haya una distribución equitativa de la carga.

En MongoDB, varios servidores MongDB se agrupan en conjuntos denominados conjuntos de réplica. El conjunto de réplicas tendrá un servidor primario que aceptará todas las operaciones de escritura de los clientes. Todas las demás instancias agregadas al conjunto después de esto se denominarán instancias secundarias que se pueden usar principalmente para todas las operaciones de lectura.

En este tutorial, aprenderá:

  • Conjunto de réplicas: agregar el primer miembro mediante rs.initiate ()
  • Conjunto de réplicas: agregar un secundario mediante rs.add ()
  • Conjunto de réplicas: reconfiguración o eliminación mediante rs.remove ()
  • Solución de problemas de conjuntos de réplicas

Conjunto de réplicas: agregar el primer miembro mediante rs.initiate ()

Como se mencionó en la sección anterior, para habilitar la replicación, primero necesitamos crear un conjunto de réplicas de instancias de MongoDB.

Supongamos que para nuestro ejemplo, tenemos 3 servidores llamados ServerA, ServerB y ServerC. En esta configuración, ServerA será nuestro servidor primario y ServerB y ServerC serán nuestros servidores secundarios. La siguiente captura de pantalla le dará una mejor idea.

A continuación se muestran los pasos que deben seguirse para crear el conjunto de réplicas junto con la adición del primer miembro al conjunto.

Paso 1) Asegúrese de que todas las instancias de mongod.exe que se agregarán al conjunto de réplicas estén instaladas en diferentes servidores. Esto es para garantizar que incluso si un servidor deja de funcionar, los demás estarán disponibles y, por lo tanto, estarán disponibles otras instancias de MongoDB.

Paso 2) Asegúrese de que todas las instancias de mongo.exe puedan conectarse entre sí. Desde ServerA, emita los 2 comandos siguientes

mongo -host ServerB -port 27017
mongo -host ServerC -port 27017

Del mismo modo, haga lo mismo desde los servidores restantes.

Paso 3) Inicie la primera instancia de mongod.exe con la opción replSet. Esta opción proporciona una agrupación para todos los servidores que formarán parte de este conjunto de réplicas.

mongo -replSet "Replica1"

Donde "Replica1" es el nombre de su conjunto de réplicas. Puede elegir cualquier nombre significativo para el nombre de su conjunto de réplicas.

Paso 4) Ahora que se agrega el primer servidor al conjunto de réplicas, el siguiente paso es iniciar el conjunto de réplicas emitiendo el siguiente comando rs.initiate ()

Paso 5) Verifique el conjunto de réplicas emitiendo el comando rs.conf () para asegurarse de que la réplica esté configurada correctamente

Conjunto de réplicas: agregar un secundario mediante rs.add ()

Los servidores secundarios se pueden agregar al conjunto de réplicas con solo usar el comando rs.add. Este comando toma el nombre de los servidores secundarios y agrega los servidores al conjunto de replicación.

Paso 1) Suponga que si tiene ServerA, ServerB y ServerC, que deben formar parte de su conjunto de réplicas, y ServerA, está definido como el servidor principal en el conjunto de réplicas.

Para agregar ServerB y ServerC al conjunto de réplicas, emita los comandos

rs.add("ServerB")rs.add("ServerC")

Conjunto de réplicas: reconfiguración o eliminación mediante rs.remove ()

Para eliminar un servidor del conjunto de configuración, necesitamos usar el comando "rs.remove"

Paso 1) Primero, cierre la instancia que desea eliminar. Se puede hacer esto emitiendo el comando db.shutdownserver desde el shell de mongo.

Paso 2) Conéctese al servidor primario

Paso 3) Utilice el comando rs.remove para eliminar el servidor requerido del conjunto de réplicas. Entonces, suponga que si tiene un conjunto de réplicas con ServerA, ServerB y ServerC, y desea eliminar ServerC del conjunto de réplicas, emita el comando

rs.remove("ServerC")

Solución de problemas de conjuntos de réplicas

Los siguientes pasos son las mismas formas en que uno puede solucionar problemas cuando se encuentran problemas con el uso de conjuntos de réplicas.

  1. Asegúrese de que todas las instancias de mongo.exe puedan conectarse entre sí. Suponga que tiene 3 servidores llamados ServerA, ServerB y ServerC. Desde el servidor A, ejecute los 2 comandos siguientes
mongo -host ServerB -port 27017mongo -host ServerC -port 27017
  1. Ejecute el comando rs.status. Este comando proporciona el estado del conjunto de réplicas. De forma predeterminada, cada miembro se enviará mensajes entre sí llamados mensajes "latidos" que solo indican que el servidor está activo y funcionando. El comando "status" obtiene el estado de estos mensajes y muestra si hay algún problema con algún miembro en el conjunto de réplicas.
  2. Verifique el tamaño del Oplog: el Oplog es una colección en MongoDB que almacena el historial de escrituras que se realizaron en la base de datos MongoDB. MongoDB luego usa este Oplog para replicar las escrituras a los otros miembros en el conjunto de réplicas. Para verificar el Oplog, conéctese a la instancia de miembro requerida y ejecute el comando rs.printReplicationInfo. Este comando mostrará el tamaño del registro y cuánto tiempo puede contener transacciones en su archivo de registro antes de que se llene.

Resumen:

  • La replicación se refiere al proceso de asegurar que los mismos datos estén disponibles en más de un Mongo DB Server. Se pueden agregar muchos miembros (instancias de MongoDB) al conjunto de réplicas según los requisitos.