MongoDB

Fuentes:

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

Linux

Si no se indica lo contrario, el contenido de esta página se ofrece bajo Creative Commons Attribution-ShareAlike 3.0 License