Actualizar de versión sin parada
Actualiza el clúster nodo a nodo sin dejar de servir.
Actualiza el clúster a una versión nueva nodo a nodo, sin dejar de servir. Las funciones nuevas solo se activan cuando todos los nodos las admiten.
Requisitos
- Acceso a
teseladb adminen un nodo del clúster. - El binario de la versión nueva en cada máquina.
Un nodo cada vez
Actualiza un nodo cada vez. Páralo y sustituye su binario; después arráncalo y espera a que teseladb admin nodes lo
liste como activo antes de pasar al siguiente. Mientras está parado, sus rangos siguen sirviendo con las réplicas de los otros nodos, que tienen
la mayoría. Al volver se pone al día solo. No lo drenes, porque el drenado sirve para retirar un nodo.
sudo systemctl stop teseladb
sudo install -m 0755 ./teseladb /usr/local/bin/teseladb
sudo systemctl start teseladb
teseladb admin nodesActiva las funciones nuevas
Si las notas de la versión dicen que anuncia una versión de MongoDB más reciente, actívala cuando todos los nodos
tengan el binario nuevo. featureCompatibilityVersion toma versiones de MongoDB, como 9.0:
db.adminCommand({ setFeatureCompatibilityVersion: "<versión de MongoDB>", confirm: true });Comprobar
Cuando terminas, teseladb admin nodes lista todos los nodos como activos. Si subiste featureCompatibilityVersion,
setFeatureCompatibilityVersion respondió ok: 1, que solo da cuando todos los nodos admiten esa versión.
Problemas frecuentes
- Una función nueva no está disponible porque falta
setFeatureCompatibilityVersiono algún nodo sigue con la versión anterior.
Ver también
- Tolerancia a fallos, con lo que pasa mientras un nodo está parado
- Actualizar entre versiones, qué cambia según el salto de versión