Fuentes:
- Instalar MongoDB en Ubuntu 14.04
- Crear y configurar un Replica Set
- Configurar un Shard Cluster
- Scripts de arranque
- Secuencia para iniciar y apagar el cluster
- Configurar SSL
- Particionar una colección
- Convertir Replica Set en Sharded Cluster
- Instalar ClusterControl sobre un Sharded Cluster
- Instalar MongoDB Management Service
Actualizaciones:
26/03/15 Crear scripts de arranque y ejecutarlos con usuario mongodb y no root
28/03/15 Secuencia para iniciar y apagar el cluster
Ejemplo:
El propósito es realizar la instalación y configuración de un sistema formado por 3 máquinas virtuales para confirmar que todo funciona correctamente, sin entrar en detalles de la securización que deberían llevar.
Hardware:
Máquinas virtuales (VirtualBox): 3 idénticas (mongo01 192.168.1.50, mongo02 192.168.1.51 y mongo03 192.168.1.52)
Linux mongo01 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Linux mongo02 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Linux mongo03 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2 x Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
512 MB RAM
1 HD 21 GB
Software: en cada una de ellas:
- SO: Ubuntu 14.04.2 LTS
- MongoDB 2.6.8: Configsvr, shardsvr (cada shard formado por 3 nodos) y mongos
Particiones:
Toda la instalación se ha hecho en una sola partición.
Pasos:
1.- Instalar MongoDB
En las 3 (mongo01, mongo02, mongo03):
#1. Importamos la clave pública de MongoDB
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
#2. Generamos un fichero que contendrá la url del repositorio de MongoDB
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
#3. Refrescamos la base de datos local de paquetes
sudo apt-get update
#4. Instalamos la última versión estable de MongoDB, y todos los paquetes necesarios, en nuestro sistema
sudo apt-get install mongodb-org
#5. En este momento ya tenemos nuestra instancia local de MongoDB corriendo, podemos comprobarlo de la siguiente manera
ps -ef | grep mongo
#6. Lo paramos para la posterior configuración e inicio de todos los servicios
sudo service mongod stop
Ahora que ya tenemos instalado MongoDB en nuestro sistema es hora de recordar:
#Cómo arrancamos el servicio de mongo
sudo service mongod start
#Cómo paramos el servicio
sudo service mongod stop
#Cómo refrescamos el servicio
sudo service mongod restart
2.- Creación de directorios y direcciones
Antes de levantar los servicios debemos haber creado los directorios donde guardaremos nuestros datos. Utilizaremos los siguientes:
- /var/lib/mongodb/shardedcluster -> donde se van a guardar los datos
- cs01, cs02 y cs03 para cada config server
- rs01nodo01, rs01nodo02, rs01nodo3 para los nodos de la Replica Set rs01
- rs02nodo01, rs02nodo02, rs02nodo3 para los nodos de la Replica Set rs02
- rs03nodo01, rs03nodo02, rs03nodo3 para los nodos de la Replica Set rs03
En mongo01:
sudo mkdir -p /var/lib/mongodb/shardedcluster/cs01
sudo mkdir /var/lib/mongodb/shardedcluster/rs01nodo01
sudo mkdir /var/lib/mongodb/shardedcluster/rs01nodo02
sudo mkdir /var/lib/mongodb/shardedcluster/rs01nodo03
sudo chown mongodb:nogroup /var/lib/mongodb/shardedcluster
sudo chown mongodb:nogroup /var/lib/mongodb/shardedcluster/*
sudo vi /etc/hosts
192.168.1.51 mongo02
192.168.1.52 mongo03
En mongo02:
sudo mkdir -p /var/lib/mongodb/shardedcluster/cs02
sudo mkdir /var/lib/mongodb/shardedcluster/rs02nodo01
sudo mkdir /var/lib/mongodb/shardedcluster/rs02nodo02
sudo mkdir /var/lib/mongodb/shardedcluster/rs02nodo03
sudo chown mongodb:nogroup /var/lib/mongodb/shardedcluster
sudo chown mongodb:nogroup /var/lib/mongodb/shardedcluster/*
sudo vi /etc/hosts
192.168.1.50 mongo01
192.168.1.52 mongo03
En mongo03:
sudo mkdir -p /var/lib/mongodb/shardedcluster/cs03
sudo mkdir /var/lib/mongodb/shardedcluster/rs03nodo01
sudo mkdir /var/lib/mongodb/shardedcluster/rs03nodo02
sudo mkdir /var/lib/mongodb/shardedcluster/rs03nodo03
sudo chown mongodb:nogroup /var/lib/mongodb/shardedcluster
sudo chown mongodb:nogroup /var/lib/mongodb/shardedcluster/*
sudo vi /etc/hosts
192.168.1.50 mongo01
192.168.1.51 mongo02
3.- Levantar servicios
Seguiremos este orden para levantar las instancias que componen nuestro sharded cluster:
3.1.- config servers
3.2.- mongod’s
3.3.- mongo’s
3.1.- Config servers
En mongo01:
sudo mongod --configsvr --logpath /var/log/mongodb/mongodb_cs01.log --logappend --dbpath /var/lib/mongodb/shardedcluster/cs01 --fork
En mongo02:
sudo mongod --configsvr --logpath /var/log/mongodb/mongodb_cs02.log --logappend --dbpath /var/lib/mongodb/shardedcluster/cs02 --fork
En mongo03:
sudo mongod --configsvr --logpath /var/log/mongodb/mongodb_cs03.log --logappend --dbpath /var/lib/mongodb/shardedcluster/cs03 --fork
Si no le indicamos un puerto específico utiliza el 27019.
Comprobamos si se han iniciado:
#Proceso
ps -axfu | grep mongo
#Puerto
netstat -tan
Podemos crear los archivos de configuración para no tener que pasar todos los parámetros junto al comando.
En mongo01:
cd /etc/
sudo vi mongodb_config.conf
# /etc/mongodb_config.conf
# mongod configdb server config file
port = 27019
dbpath = /var/lib/mongodb/shardedcluster/cs01
fork = true
configsvr = true
logpath = /var/log/mongodb/mongodb_cs01.log
logappend = yes
En mongo02:
cd /etc/
sudo vi mongodb_config.conf
# /etc/mongodb_config.conf
# mongod configdb server config file
port = 27019
dbpath = /var/lib/mongodb/shardedcluster/cs02
fork = true
configsvr = true
logpath = /var/log/mongodb/mongodb_cs02.log
logappend = yes
En mongo03:
cd /etc/
sudo vi mongodb_config.conf
# /etc/mongodb_config.conf
# mongod configdb server config file
port = 27019
dbpath = /var/lib/mongodb/shardedcluster/cs03
fork = true
configsvr = true
logpath = /var/log/mongodb/mongodb_cs03.log
logappend = yes
Para iniciarlo:
En los 3 (mongo01, mongo02 y mongo03):
sudo mongod -f /etc/mongodb_config.conf
3.2.- mongod’s
En mongo01:
sudo mongod --shardsvr --replSet rs01 --dbpath /var/lib/mongodb/shardedcluster/rs01nodo01 --logpath /var/log/mongodb/mongodb_rs01nodo01.log --port 27000 --fork --logappend
sudo mongod --shardsvr --replSet rs01 --dbpath /var/lib/mongodb/shardedcluster/rs01nodo02 --logpath /var/log/mongodb/mongodb_rs01nodo02.log --port 27001 --fork --logappend
sudo mongod --shardsvr --replSet rs01 --dbpath /var/lib/mongodb/shardedcluster/rs01nodo03 --logpath /var/log/mongodb/mongodb_rs01nodo03.log --port 27002 --fork --logappend
En mongo02:
sudo mongod --shardsvr --replSet rs02 --dbpath /var/lib/mongodb/shardedcluster/rs02nodo01 --logpath /var/log/mongodb/mongodb_rs02nodo01.log --port 27000 --fork --logappend
sudo mongod --shardsvr --replSet rs02 --dbpath /var/lib/mongodb/shardedcluster/rs02nodo02 --logpath /var/log/mongodb/mongodb_rs02nodo02.log --port 27001 --fork --logappend
sudo mongod --shardsvr --replSet rs02 --dbpath /var/lib/mongodb/shardedcluster/rs02nodo03 --logpath /var/log/mongodb/mongodb_rs02nodo03.log --port 27002 --fork --logappend
En mongo03:
sudo mongod --shardsvr --replSet rs03 --dbpath /var/lib/mongodb/shardedcluster/rs03nodo01 --logpath /var/log/mongodb/mongodb_rs03nodo01.log --port 27000 --fork --logappend
sudo mongod --shardsvr --replSet rs03 --dbpath /var/lib/mongodb/shardedcluster/rs03nodo02 --logpath /var/log/mongodb/mongodb_rs03nodo02.log --port 27001 --fork --logappend
sudo mongod --shardsvr --replSet rs03 --dbpath /var/lib/mongodb/shardedcluster/rs03nodo03 --logpath /var/log/mongodb/mongodb_rs03nodo03.log --port 27002 --fork --logappend
Comprobamos si se han iniciado:
#Proceso
ps -axfu | grep mongo
#Puerto
netstat -tan
Podemos crear los archivos de configuración para no tener que pasar todos los parámetros junto al comando.
En mongo01:
cd /etc/
sudo vi mongod_rs01nodo01.conf
# /etc/mongod_rs01nodo01.conf
# mongodb shard with replica set rs01 config file for nodo01
port = 27000
dbpath = /var/lib/mongodb/shardedcluster/rs01nodo01
fork = true
shardsvr = true
replSet = rs01
logpath = /var/log/mongodb/mongod_rs01nodo01.log
logappend = yes
sudo vi mongod_rs01nodo02.conf
# /etc/mongod_rs01nodo02.conf
# mongodb shard with replica set rs01 config file for nodo02
port = 27001
dbpath = /var/lib/mongodb/shardedcluster/rs01nodo02
fork = true
shardsvr = true
replSet = rs01
logpath = /var/log/mongodb/mongod_rs01nodo02.log
logappend = yes
sudo vi mongod_rs01nodo03.conf
# /etc/mongod_rs01nodo03.conf
# mongodb shard with replica set rs01 config file for nodo03
port = 27000
dbpath = /var/lib/mongodb/shardedcluster/rs01nodo03
fork = true
shardsvr = true
replSet = rs01
logpath = /var/log/mongodb/mongod_rs01nodo03.log
logappend = yes
En mongo02:
cd /etc/
sudo vi mongod_rs02nodo01.conf
# /etc/mongod_rs02nodo01.conf
# mongodb shard with replica set rs02 config file for nodo01
port = 27000
dbpath = /var/lib/mongodb/shardedcluster/rs02nodo01
fork = true
shardsvr = true
replSet = rs02
logpath = /var/log/mongodb/mongod_rs02nodo01.log
logappend = yes
sudo vi mongod_rs02nodo02.conf
# /etc/mongod_rs02nodo02.conf
# mongodb shard with replica set rs02 config file for nodo02
port = 27001
dbpath = /var/lib/mongodb/shardedcluster/rs02nodo02
fork = true
shardsvr = true
replSet = rs02
logpath = /var/log/mongodb/mongod_rs02nodo02.log
logappend = yes
sudo vi mongod_rs02nodo03.conf
# /etc/mongod_rs02nodo03.conf
# mongodb shard with replica set rs02 config file for nodo03
port = 27000
dbpath = /var/lib/mongodb/shardedcluster/rs02nodo03
fork = true
shardsvr = true
replSet = rs02
logpath = /var/log/mongodb/mongod_rs02nodo03.log
logappend = yes
En mongo03:
cd /etc/
sudo vi mongod_rs03nodo01.conf
# /etc/mongod_rs03nodo01.conf
# mongodb shard with replica set rs03 config file for nodo01
port = 27000
dbpath = /var/lib/mongodb/shardedcluster/rs03nodo01
fork = true
shardsvr = true
replSet = rs03
logpath = /var/log/mongodb/mongod_rs03nodo01.log
logappend = yes
sudo vi mongod_rs03nodo02.conf
# /etc/mongod_rs03nodo02.conf
# mongodb shard with replica set rs03 config file for nodo02
port = 27001
dbpath = /var/lib/mongodb/shardedcluster/rs03nodo02
fork = true
shardsvr = true
replSet = rs03
logpath = /var/log/mongodb/mongod_rs03nodo02.log
logappend = yes
sudo vi mongod_rs03nodo03.conf
# /etc/mongod_rs03nodo03.conf
# mongodb shard with replica set rs03 config file for nodo03
port = 27000
dbpath = /var/lib/mongodb/shardedcluster/rs03nodo03
fork = true
shardsvr = true
replSet = rs03
logpath = /var/log/mongodb/mongod_rs03nodo03.log
logappend = yes
Para iniciarlos
En mongo01:
sudo mongod -f /etc/mongod_rs01nodo01.conf
sudo mongod -f /etc/mongod_rs01nodo02.conf
sudo mongod -f /etc/mongod_rs01nodo03.conf
En mongo02:
sudo mongod -f /etc/mongod_rs02nodo01.conf
sudo mongod -f /etc/mongod_rs02nodo02.conf
sudo mongod -f /etc/mongod_rs02nodo03.conf
En mongo03:
sudo mongod -f /etc/mongod_rs03nodo01.conf
sudo mongod -f /etc/mongod_rs03nodo02.conf
sudo mongod -f /etc/mongod_rs03nodo03.conf
3.3.- mongo’s
En mongo01:
sudo mongos --configdb mongo01:27019,mongo02:27019,mongo03:27019 --fork --logappend --logpath /var/log/mongodb/mongos01.log
En mongo02:
sudo mongos --configdb mongo01:27019,mongo02:27019,mongo03:27019 --fork --logappend --logpath /var/log/mongodb/mongos02.log
En mongo03:
sudo mongos --configdb mongo01:27019,mongo02:27019,mongo03:27019 --fork --logappend --logpath /var/log/mongodb/mongos03.log
Comprobamos si se han iniciado:
#Proceso
ps -axfu | grep mongo
#Puerto
netstat -tan
Podemos crear los archivos de configuración para no tener que pasar todos los parámetros junto al comando.
En mongo01:
cd /etc/
sudo vi mongos.conf
# /etc/mongos.conf
# mongos config file
port = 27017
configdb = mongo01:27019,mongo02:27019,mongo03:27019
fork = true
logpath =/var/log/mongodb/mongos01.log
logappend = yes
En mongo02:
cd /etc/
sudo vi mongos.conf
# /etc/mongos.conf
# mongos config file
port = 27017
configdb = mongo01:27019,mongo02:27019,mongo03:27019
fork = true
logpath = /var/log/mongodb/mongos02.log
logappend = yes
En mongo03:
cd /etc/
sudo vi mongos.conf
# /etc/mongos.conf
# mongos config file
port = 27017
configdb = mongo01:27019,mongo02:27019,mongo03:27019
fork = true
logpath = /var/log/mongodb/mongos03.log
logappend = yes
Para iniciarlo:
En los 3 (mongo01, mongo02 y mongo03):
sudo mongos -f /etc/mongos.conf
4.- Configuración de las Replica Set
En mongo01:
#Nos conectamos al primero de los nodos
mongo --port 27000
#Ejecutamos el siguiente comando para que MongoDB configure la Replica Set con el nodo al que estamos conectados y con la configuración mínima por defecto
rs.initiate()
#consultamos para ver que se ha incluido en la Replica Set
rs.conf()
#Añadimos a nuestra Replica Set los dos nodos restantes
rs.add("mongo01:27001")
rs.add("mongo01:27002")
#consultamos para ver que se han incluido en la Replica Set
rs.conf()
#Comprobamos que los tres nodos están funcionando correctamente
rs.status()
En mongo02:
#Nos conectamos al primero de los nodos
mongo --port 27000
#Ejecutamos el siguiente comando para que MongoDB configure la Replica Set con el nodo al que estamos conectados y con la configuración mínima por defecto
rs.initiate()
#consultamos para ver que se ha incluido en la Replica Set
rs.conf()
#Añadimos a nuestra Replica Set los dos nodos restantes
rs.add("mongo02:27001")
rs.add("mongo02:27002")
#consultamos para ver que se han incluido en la Replica Set
rs.conf()
#Comprobamos que los tres nodos están funcionando correctamente
rs.status()
En mongo03:
#Nos conectamos al primero de los nodos
mongo --port 27000
#Ejecutamos el siguiente comando para que MongoDB configure la Replica Set con el nodo al que estamos conectados y con la configuración mínima por defecto
rs.initiate()
#consultamos para ver que se ha incluido en la Replica Set
rs.conf()
#Añadimos a nuestra Replica Set los dos nodos restantes
rs.add("mongo03:27001")
rs.add("mongo03:27002")
#consultamos para ver que se han incluido en la Replica Set
rs.conf()
#Comprobamos que los tres nodos están funcionando correctamente
rs.status()
5.- Configuración del cluster
Añadimos al cluster los tres shards.
En mongo01:
#Nos conectamos al primer mongos
mongo
#Añadimos los shards al cluster
sh.addShard("rs01/mongo01:27000")
sh.addShard("rs02/mongo02:27000")
sh.addShard("rs03/mongo03:27000")
#Comprobamos la configuración del cluster
sh.status()
# Comprobar que el balanceador está activo
sh.getBalancerState()
Actualizaciones:
26/23/15 Crear scripts de arranque y ejecutarlos con usuario mongodb y no root
Vimos que podíamos crear los archivos de configuración para no tener que pasar todos los parámetros junto al comando a la hora de iniciar los servicios.
El siguiente paso es crear los scripts necesarios para que los servicios se inicien y paren cuando el servidor se inicia y apaga (upstart), y cambiar el usuario root que los ejecutaba por otro que crea mongoDB al instalarse, mongodb.
Si fuera una instalación de cero lo siguiente no haría falta, pero como ya hay archivos existente (logs, pid…) lo primero es parar todos los servicios, eliminar los archivos que quedarán antiguos por la nueva configuración, y cambiar propietarios, ya que hay directorios que se crearon con root y mongodb no tendría permisos de escritura.
En los 3 (mongo01, mongo02 y mongo03):
sudo killall -9 mongod
sudo rm /var/log/mongodb/*
sudo rm /var/lib/mongodb/*.lock
sudo rm /var/lib/mongodb/shardedcluster/cs[01|02|03]*.lock #En cada máquina el número [01|02|03] que corresponda
sudo rm /var/lib/mongodb/shardedcluster/rs[01|02|03]nodo[01|02|03]/*.lock #En cada máquina el número [01|02|03] que corresponda
sudo chown mongodb:nogroup -R /var/lib/mongodb/*
Lo siguiente es eliminar/comentar el parámetro 'fork = true' de cada uno de los archivos de configuración que creamos en /etc/, ya que eso hace que el servicio corra en background al ejecutar los comandos desde consola, y si no lo quitamos al intentar parar el servicio no reconocería el pid.
En las 3 (en mongodb_config.conf, mongod_rs[01|02|03]nodo[01|02|03].conf, mongos.conf): #En cada máquina el número [01|02|03] que corresponda
#fork = true
A continuación creamos los scripts que upstart necesita para controlar los servicios, y eliminamos el original de mongod para que no se ejecute.
En los 3 (mongo01, mongo02 y mongo03):
cd /etc/init/
mv mongod.conf mongod.conf.bkp
vi mongodb_config.conf
description "Keeps MongoDB configuration server running between boots"
limit nofile 20000 20000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
mkdir -p /var/lib/mongodb/
mkdir -p /var/log/mongodb/
end script
start on runlevel [2345]
stop on stopped mongos
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi
if [ "x$ENABLE_MONGODB" = "xyes" ]; then
exec start-stop-daemon --make-pidfile --pidfile \
/var/run/mongodb_cs[01|02|03].pid --start --quiet --chuid mongodb \ #En cada máquina el número [01|02|03] que corresponda
--exec /usr/bin/mongod -- --config /etc/mongodb_config.conf
fi
end script
vi mongod_rs[01|02|03]nodo[01|02|03].conf #En cada máquina el número [01|02|03] que corresponda
description "Keeps mongod (replica node) running between boots"
limit nofile 20000 20000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
mkdir -p /var/lib/mongodb/
mkdir -p /var/log/mongodb/
end script
## rs[01|02|03]nodo01 #En cada máquina el número [01|02|03] que corresponda
start on started mongodb_config
stop on stopped mongod_rs[01|02|03]nodo02 #En cada máquina el número [01|02|03] que corresponda
## rs[01|02|03]nodo02 #En cada máquina el número [01|02|03] que corresponda
start on started mongod_rs[01|02|03]nodo01 #En cada máquina el número [01|02|03] que corresponda
stop on stopped mongod_rs[01|02|03]nodo03 #En cada máquina el número [01|02|03] que corresponda
## rs[01|02|03]nodo03 #En cada máquina el número [01|02|03] que corresponda
start on started mongod_rs[01|02|03]nodo02 #En cada máquina el número [01|02|03] que corresponda
stop on stopped mongodb_config
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi
if [ "x$ENABLE_MONGODB" = "xyes" ]; then
exec start-stop-daemon --make-pidfile --pidfile \
/var/run/mongod_rs[01|02|03]nodo[01|02|03].pid --start --quiet --chuid mongodb \ #En cada máquina el número [01|02|03] que corresponda
--exec /usr/bin/mongod -- --config /etc/mongod_rs[01|02|03]nodo[01|02|03].conf #En cada máquina el número [01|02|03] que corresponda
fi
end script
vi mongos.conf
description "Keeps mongos running between boots"
limit nofile 20000 20000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
mkdir -p /var/lib/mongodb/
mkdir -p /var/log/mongodb/
end script
start on started mongod_rs[01|02|03]nodo03 #En cada máquina el número [01|02|03] que corresponda
stop on runlevel [06]
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi
if [ "x$ENABLE_MONGODB" = "xyes" ]; then
exec start-stop-daemon --make-pidfile --pidfile /var/run/mongos[01|02|03].pid \ #En cada máquina el número [01|02|03] que corresponda
--start --quiet --chuid mongodb \
--exec /usr/bin/mongos -- --config /etc/mongos.conf
fi
end script
cd /etc/init.d/
sudo rm mongod
ln -s /lib/init/upstart-job ./mongodb_config
ln -s /lib/init/upstart-job ./mongod_rs[01|02|03]nodo[01|02|03] #En cada máquina el número [01|02|03] que corresponda
ln -s /lib/init/upstart-job ./mongos
Vamos a ver que archivos quedan en cada máquina:
mongo01:
ll /etc/mongo*
-rw-r--r-- 1 root root 213 Mar 26 13:40 /etc/mongodb_config.conf
-rw-r--r-- 1 root root 1693 Feb 25 18:05 /etc/mongod.conf #El original que no usamoa para nada
-rw-r--r-- 1 root root 265 Mar 26 04:28 /etc/mongod_rs01nodo01.conf
-rw-r--r-- 1 root root 265 Mar 26 04:28 /etc/mongod_rs01nodo02.conf
-rw-r--r-- 1 root root 265 Mar 26 04:28 /etc/mongod_rs01nodo03.conf
-rw-r--r-- 1 root root 175 Mar 26 13:24 /etc/mongos.conf
ll /var/lib/mongodb/*
-rw------- 1 mongodb nogroup 67108864 Mar 26 03:27 /var/lib/mongodb/local.0
-rw------- 1 mongodb nogroup 16777216 Mar 26 03:27 /var/lib/mongodb/local.ns
/var/lib/mongodb/journal:
total 3145748
drwxr-xr-x 2 mongodb nogroup 4096 Mar 26 03:52 ./
drwxr-xr-x 4 mongodb mongodb 4096 Mar 26 14:51 ../
-rw------- 1 mongodb nogroup 1073741824 Mar 26 03:52 prealloc.0
-rw------- 1 mongodb nogroup 1073741824 Mar 25 21:09 prealloc.1
-rw------- 1 mongodb nogroup 1073741824 Mar 25 21:09 prealloc.2
/var/lib/mongodb/shardedcluster:
total 24
drwxr-xr-x 6 mongodb nogroup 4096 Mar 26 13:41 ./
drwxr-xr-x 4 mongodb mongodb 4096 Mar 26 14:51 ../
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 04:08 cs01/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 04:19 rs01nodo01/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 04:19 rs01nodo02/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 04:19 rs01nodo03/
ll /etc/init/mongo*
-rwxr-xr-x 1 root root 644 Mar 26 14:13 /etc/init/mongodb_config.conf
-rw-r--r-- 1 root root 1320 Feb 24 17:07 /etc/init/mongod.conf.bkp #El original que no usamoa para nada
-rwxr-xr-x 1 root root 642 Mar 26 03:57 /etc/init/mongod_rs01nodo01.conf
-rwxr-xr-x 1 root root 642 Mar 26 03:57 /etc/init/mongod_rs01nodo02.conf
-rwxr-xr-x 1 root root 642 Mar 26 03:57 /etc/init/mongod_rs01nodo03.conf
-rwxr-xr-x 1 root root 624 Mar 26 14:12 /etc/init/mongos.conf
ll /etc/init.d/mongo*
lrwxrwxrwx 1 root root 21 Mar 26 03:40 /etc/init.d/mongodb_config -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 03:04 /etc/init.d/mongod_rs01nodo01 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 03:04 /etc/init.d/mongod_rs01nodo02 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 03:04 /etc/init.d/mongod_rs01nodo03 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 03:04 /etc/init.d/mongos -> /lib/init/upstart-job
mongo02:
ll /etc/mongo*
-rw-r--r-- 1 root root 213 Mar 26 13:40 /etc/mongodb_config.conf
-rw-r--r-- 1 root root 1693 Feb 25 18:05 /etc/mongod.conf #El original que no usamoa para nada
-rw-r--r-- 1 root root 265 Mar 26 13:30 /etc/mongod_rs02nodo01.conf
-rw-r--r-- 1 root root 265 Mar 26 13:30 /etc/mongod_rs02nodo02.conf
-rw-r--r-- 1 root root 265 Mar 26 13:30 /etc/mongod_rs02nodo03.conf
-rw-r--r-- 1 root root 175 Mar 26 13:30 /etc/mongos.conf
ll /var/lib/mongodb/*
-rw------- 1 mongodb nogroup 67108864 Mar 26 13:15 /var/lib/mongodb/local.0
-rw------- 1 mongodb nogroup 16777216 Mar 26 13:15 /var/lib/mongodb/local.ns
/var/lib/mongodb/journal:
total 3145748
drwxr-xr-x 2 mongodb nogroup 4096 Mar 26 13:15 ./
drwxr-xr-x 4 mongodb mongodb 4096 Mar 26 13:36 ../
-rw------- 1 mongodb nogroup 1073741824 Mar 26 13:15 j._0
-rw------- 1 mongodb nogroup 1073741824 Mar 25 12:44 prealloc.1
-rw------- 1 mongodb nogroup 1073741824 Mar 25 12:44 prealloc.2
/var/lib/mongodb/shardedcluster:
total 24
drwxr-xr-x 6 mongodb nogroup 4096 Mar 26 13:40 ./
drwxr-xr-x 4 mongodb mongodb 4096 Mar 26 13:36 ../
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 cs02/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 rs02nodo01/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 rs02nodo02/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 rs02nodo03/
ll /etc/init/mongo*
-rw-r--r-- 1 root root 644 Mar 26 14:14 /etc/init/mongodb_config.conf
-rw-r--r-- 1 root root 1320 Feb 24 17:07 /etc/init/mongod.conf.bkp #El original que no usamoa para nada
-rw-r--r-- 1 root root 642 Mar 26 13:32 /etc/init/mongod_rs02nodo01.conf
-rw-r--r-- 1 root root 642 Mar 26 13:32 /etc/init/mongod_rs02nodo02.conf
-rw-r--r-- 1 root root 642 Mar 26 13:33 /etc/init/mongod_rs02nodo03.conf
-rw-r--r-- 1 root root 624 Mar 26 14:11 /etc/init/mongos.conf
ll /etc/init.d/mongo*
lrwxrwxrwx 1 root root 21 Mar 26 13:34 /etc/init.d/mongodb_config -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 13:35 /etc/init.d/mongod_rs02nodo01 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 13:35 /etc/init.d/mongod_rs02nodo02 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 13:35 /etc/init.d/mongod_rs02nodo03 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 13:34 /etc/init.d/mongos -> /lib/init/upstart-job
mongo03:
ll /etc/mongo*
-rw-r--r-- 1 root root 212 Mar 26 14:01 /etc/mongodb_config.conf
-rw-r--r-- 1 root root 1693 Feb 25 18:05 /etc/mongod.conf #El original que no usamoa para nada
-rw-r--r-- 1 root root 264 Mar 25 17:25 /etc/mongod_rs03nodo01.conf
-rw-r--r-- 1 root root 264 Mar 25 17:26 /etc/mongod_rs03nodo02.conf
-rw-r--r-- 1 root root 264 Mar 25 23:11 /etc/mongod_rs03nodo03.conf
-rw-r--r-- 1 root root 174 Mar 26 14:00 /etc/mongos.conf
ll /var/lib/mongodb/*
-rw------- 1 mongodb nogroup 67108864 Mar 26 13:16 /var/lib/mongodb/local.0
-rw------- 1 mongodb nogroup 16777216 Mar 26 13:16 /var/lib/mongodb/local.ns
/var/lib/mongodb/journal:
total 3145748
drwxr-xr-x 2 mongodb nogroup 4096 Mar 26 13:16 ./
drwxr-xr-x 4 mongodb mongodb 4096 Mar 26 14:48 ../
-rw------- 1 mongodb nogroup 1073741824 Mar 26 13:16 j._0
-rw------- 1 mongodb nogroup 1073741824 Mar 25 21:10 prealloc.1
-rw------- 1 mongodb nogroup 1073741824 Mar 25 21:10 prealloc.2
/var/lib/mongodb/shardedcluster:
total 24
drwxr-xr-x 6 mongodb nogroup 4096 Mar 26 13:43 ./
drwxr-xr-x 4 mongodb mongodb 4096 Mar 26 14:48 ../
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 cs03/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 rs03nodo01/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 rs03nodo02/
drwxr-xr-x 3 mongodb nogroup 4096 Mar 26 14:02 rs03nodo03/
ll /etc/init/mongo*
-rw-r--r-- 1 root root 644 Mar 26 14:14 /etc/init/mongodb_config.conf
-rw-r--r-- 1 root root 1320 Feb 24 17:07 /etc/init/mongod.conf.bkp #El original que no usamoa para nada
-rw-r--r-- 1 root root 642 Mar 26 13:59 /etc/init/mongod_rs03nodo01.conf
-rw-r--r-- 1 root root 642 Mar 26 13:59 /etc/init/mongod_rs03nodo02.conf
-rw-r--r-- 1 root root 642 Mar 26 14:00 /etc/init/mongod_rs03nodo03.conf
-rw-r--r-- 1 root root 625 Mar 26 14:11 /etc/init/mongos.conf
ll /etc/init.d/mongo*
lrwxrwxrwx 1 root root 21 Mar 26 15:41 /etc/init.d/mongodb_config -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 15:42 /etc/init.d/mongod_rs03nodo01 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 15:42 /etc/init.d/mongod_rs03nodo02 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 15:42 /etc/init.d/mongod_rs03nodo03 -> /lib/init/upstart-job
lrwxrwxrwx 1 root root 21 Mar 26 15:42 /etc/init.d/mongos -> /lib/init/upstart-job
Ya solo nos queda reiniciar las máquinas.
28/03/15 Secuencia para iniciar y apagar el cluster
Apagar el clúster:
1.- Servidores mongo
2.- Servidores de configuración
3.- Nodos secundarios
4.- Nodos primarios
Iniciar el clúster:
1.- Servidores de configuración
2.- Nodos primarios
3.- Nodos secundarios
4.- Servidores mongo