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 admin en 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.

Shell
sudo systemctl stop teseladb
sudo install -m 0755 ./teseladb /usr/local/bin/teseladb
sudo systemctl start teseladb
teseladb admin nodes

Activa 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:

JavaScript
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 setFeatureCompatibilityVersion o algún nodo sigue con la versión anterior.

Ver también