Buscar..


Mongodb como un conjunto de réplicas

Estaríamos creando mongodb como un conjunto de réplicas con 3 instancias. Una instancia sería primaria y las otras 2 serían secundarias.

Para simplificar, voy a tener un conjunto de réplicas con 3 instancias de mongodb ejecutándose en el mismo servidor y, por lo tanto, para lograr esto, las tres instancias de mongodb se ejecutarán en diferentes números de puerto.

En el entorno de producción en el que tiene una instancia de mongodb dedicada que se ejecuta en un solo servidor, puede reutilizar los mismos números de puerto.

  1. Crear directorios de datos (ruta donde se almacenarán los datos mongodb en un archivo)
- mkdir c:\data\server1 (datafile path for instance 1)
- mkdir c:\data\server2 (datafile path for instance 2)
- mkdir c:\data\server3 (datafile path for instance 3)
  1. a. Inicia la primera instancia mongod.
  • Abra el símbolo del sistema y escriba lo siguiente presione enter.
mongod --replSet s0 --dbpath c:\data\server1 --port 37017  --smallfiles --oplogSize 100

El comando anterior asocia la instancia de mongodb a un nombre de replicaSet "s0" y comienza la primera instancia de mongodb en el puerto 37017 con oplogSize 100MB

  1. segundo. Del mismo modo iniciar la segunda instancia de mongodb.
mongod --replSet s0 --dbpath c:\data\server2 --port 37018  --smallfiles --oplogSize 100

El comando anterior asocia la instancia de mongodb a un nombre de replicaSet "s0" y comienza la primera instancia de mongodb en el puerto 37018 con oplogSize 100MB

  1. do. Ahora comienza la tercera instancia de Mongodb
mongod --replSet s0 --dbpath c:\data\server3 --port 37019  --smallfiles --oplogSize 100

El comando anterior asocia la instancia de mongodb a un nombre de replicaSet "s0" y comienza la primera instancia de mongodb en el puerto 37019 con oplogSize 100MB

Con las 3 instancias iniciadas, estas 3 instancias son independientes entre sí actualmente. Ahora tendríamos que agrupar estas instancias como un conjunto de réplicas. Lo hacemos con la ayuda de un objeto de configuración.

3.a Conéctate a cualquiera de los servidores mongod a través del shell mongo. Para ello abre el símbolo del sistema y escribe.

mongo --port 37017

Una vez conectado al shell mongo, crea un objeto de configuración

   var config = {"_id":"s0", members[]};

Este objeto de configuración tiene 2 atributos.

    1. _id: el nombre del conjunto de réplicas ("s0")
    2. miembros: [] (los miembros son una serie de instancias mongod. dejemos esto en blanco por ahora, agregaremos miembros mediante el comando push).

3.b Para empujar (agregar) instancias mongod a la matriz de miembros en el objeto de configuración. En el tipo de concha mongo

 config.members.push({"_id":0,"host":"localhost:37017"});
 config.members.push({"_id":1,"host":"localhost:37018"});
 config.members.push({"_id":2,"host":"localhost:37019"});

Asignamos a cada instancia mongod un _id y un host. _id puede ser cualquier número único y el host debe ser el nombre de host del servidor en el que se ejecuta, seguido del número de puerto.

  1. Inicie el objeto de configuración con el siguiente comando en el shell mongo.
rs.initiate(config)
  1. Dale unos segundos y tenemos un conjunto de réplicas de 3 instancias mongod que se ejecutan en el servidor. escriba el siguiente comando para verificar el estado del conjunto de réplicas e identificar cuál es primario y cuál secundario.
rs.status();


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow