Configuración cluster MongoDB
Versiones
Se recomienda que todos los servidores tengan la misma versión.
Para verificar la versión instalada se usa el comando
mongo --version
La salida debe ser similar a:
MongoDB shell version v4.0.10
git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
OpenSSL version: OpenSSL 1.1.1c 28 May 2019
allocator: tcmalloc
modules: none
build environment:
distmod: ubuntu1804
distarch: x86_64
target_arch: x86_64
Pasos previos
Hostnames
Cada equipo debe tener registradas las IP de los otros equipos en el archivo hosts
Rutas:
En GNU-Linux: /etc/hosts
En Windows c:\windows\system32\drivers\etc\hosts
Por ejemplo, si el config server tiene la IP [Link] y el nombre de equipo Juan el archivo hosts
en mongos server debe tener la siguiente línea:
[Link] Juan
Servicio mongodb
El demonio de mongo se debe iniciar desde la consola, no con systemctl porque suele provocar
confictos, por lo que se recomienda ejecutar el siguiente comando antes de empezar.
sudo systemctl stop mongodb
o su comando equivalente
Instalación en Ubuntu
Los pasos para la instalacion para Ubuntu se encuentran en el siguiente Link
Instalación en Arch y derivados
Mongo se instala desde AUR, mediante yaourt o aurman
Configuración del config replica set
Para este caso el servidor de configuración se llamara juanpabloconfig. El archivo de
configuracion es el siguiente:
replication:
replSetName: juanpabloconfig
systemLog:
destination: file
path: "/var/log/mongodb/[Link]"
logAppend: true
storage:
journal:
enabled: true
net:
bindIp: [Link]
port: 27019
setParameter:
enableLocalhostAuthBypass: false
Este archivo se guarda con un nombre y una ruta fáciles de acceder, para este caso será
[Link] luego se ejecuta el comando:
sudo mongod --config [Link]
Configuración del config replica set
Para este caso el servidor réplica se llamara replicauno. El archivo de configuracion es el
siguiente:
sharding:
clusterRole: shardsvr
replication:
replSetName: replicauno
net:
bindIp: localhost
Este archivo se guarda con un nombre y una ruta fáciles de acceder, para este caso será
[Link] luego se ejecuta el comando:
sudo mongod --config [Link]
Configuración del mongos server
La configuración del mongos es similar a las anteriores, únicamente cambia el archivo de
configuración [Link] .
Asumiendo que las IPs son las siguientes:
Config server: [Link]
Shard 1 server (replicauno): 192.1680.0.14
El archivo [Link] sería:
sharding:
configDB: juanpabloconfig/[Link]:27019
net:
bindIp: localhost
Después ejecutar:
sudo mongod --config [Link]
Luego en la consola de mongo añadir los shards:
[Link]( "replicauno/192.1680.0.14:27017")
Guia realizada por: Baderda