Vuelvo a usar por enésima vez la misma imagen para un post sobre MongoDB. Esta vez, veremos cómo actualizar todo un clúster mongo de la versión 2.0.1 a la 2.0.4.
En primer lugar revisaremos qué posibilidades tenemos para actualizar mongo con
yum search mongo
A continuación, miraremos la versión de mongo que nos ofrece yum, para confirmar que coincide con la deseada:
yum info mongo-10gen
Paquetes disponibles
Name : mongo-10gen
Arch : x86_64
Version : 2.0.4
Una vez estemos seguros, seguiremos el proceso descrito en este otro post, que básicamente sigue estos pasos cuando se tiene un entorno con ReplicaSets y Sharding:
MONGOD
- Se empezará actualizando los procesos mongod. La idea es actualizar todos los mongod de un servidor, y tras acabar, pasar a los mongod de otro servidor, y así con todos.
- Poner todos los mongod del servidor a actualizar, a slaves con rs.stepDown()
- Actualizar tanto la consola cliente como el servidor a la última versión, del respositorio oficial 10gen
- Hacer un «kill -9» de los procesos mongod del servidor
- Iniciar los mongod del servidor y comprobar que se ha actualizado correctamente
- Estando logueados en el mongod, realizar un «rs.status()» para corroborar que todo continúa funcionando dentro del ReplicaSet
- Tras comprobar todos los mongod del servidor, repetir el proceso con el resto de procesos mongod del resto de servidores.
yum update mongo-10gen-server.x86_64 mongo-10gen.x86_64
NOTA: El proceso es idéntico, en caso de que el servidor además de mongod, tenga mongos, árbitros o config_servers. Lo único que cambiará será que éstos procesos no se reiniciarán hasta que no sea el momento adecuado.
MONGOS y CONFIG_SERVERS
- Si los mongos y los config_servers están en los mismos servidores que los mongod, éstos se habrán actualizado con el «yum update» para los mongod, y únicamente bastará con reiniciar los procesos de los mongos y los config_servers, en orden. Los config_servers deberán reiniciarse uno a uno. Tras los config_servers, se reiniciarán los mongos.
- En el caso de que estén en máquinas separadas, bastará con hacer el «yum update mongo-10gen-server.x86_64» y a continuación, reiniciar tal y como se ha descrito en el punto anterior (pararlos todos, iniciar config_servers y después mongos).
ÁRBITROS
- Una vez esté todo actualizado, únicamente quedará actualizar los árbitros, con un «yum update mongo-10gen-server.x86_64», tras lo cual se deberá hacer un kill -9 e iniciar los procesos de nuevo para estar en la última versión.