Docs Menu
Docs Home
/ /

Actualiza un set de réplicas a 8.2

Importante

MongoDB 8.2 es la última versión menor. A partir de MongoDB 8.2, hay versiones menores disponibles para implementaciones locales (MongoDB Community y Enterprise) para casos de uso específicos. Para más información, consulte Control de versiones de MongoDB.

Para instalar la última versión de MongoDB compatible para uso on-premises, consulta las instrucciones de instalación.

Se debe familiarizar con el contenido de este documento, incluyendo una revisión exhaustiva de los requisitos previos, antes de actualizar a MongoDB 8.2.

Los siguientes pasos describen el procedimiento para actualizar un mongod Este es un miembro del conjunto de réplicas de la versión 8.0 a la 8.2.

Si necesita orientación sobre cómo actualizar a 8.2, Los servicios profesionales de MongoDB ofrecen soporte para actualizaciones de versiones principales para garantizar una transición fluida y sin interrupciones en su aplicación MongoDB.

Al actualizar, considere lo siguiente:

Para actualizar una implementación existente de MongoDB a 8.2, se debe estar ejecutando una versión de la serie 8.0.

Para actualizar desde una versión anterior a la serie 8.0, debe actualizar sucesivamente las versiones principales hasta que se haya actualizado a la serie 8.0. Por ejemplo, si se está ejecutando una serie 7.0, primero se debe actualizar a 8.0 antes de poder actualizar a 8.2.

Antes de actualizar MongoDB, se debe comprobar que se está usando un driver compatible con MongoDB 8.2. Se debe consultar la documentación del driver para el driver específico que se está usando y verificar la compatibilidad con MongoDB 8.2.

Las implementaciones actualizadas que se ejecutan en controladores incompatibles podrían experimentar un comportamiento inesperado o indefinido.

Antes de actualizar, se puede consultar el documento Cambios de compatibilidad en MongoDB 8.2 para garantizar que las aplicaciones e implementaciones sean compatibles con MongoDB 8.2. Se pueden resolver las incompatibilidades en la implementación antes de comenzar la actualización.

Antes de actualizar MongoDB, siempre se debe probar la aplicación en un entorno de pruebas antes de implementar la actualización en el entorno de producción.

No se puede degradar la versión binaria de la implementación sin asistencia de soporte técnico.

Para aprender más, consultar Degradar 8.2 a 8.0.

Todos los miembros del conjunto de réplicas deben ejecutar 8.0 la versión. Para actualizar un conjunto de réplicas de 7.0la serie y anteriores, primero actualice todos los miembros del conjunto a la última 8.0versión de la serie y, a continuación, siga el procedimiento para actualizar de 8 MongoDB.0 82a..

El set de réplicas 8.0 debe tener featureCompatibilityVersion configurado en "8.0".

Para garantizar que todos los nodos del set de réplicas tengan featureCompatibilityVersion establecido en "8.0", conéctate a cada nodo del set de réplicas y verifica el featureCompatibilityVersion:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

Todos los nodos deben devolver un resultado que incluya "featureCompatibilityVersion" : { "version" : "8.0" }.

Para configurar o actualizar featureCompatibilityVersion, ejecuta el siguiente comando en el primario. La mayoría de los nodos que contienen datos deben estar disponible:

db.adminCommand( { setFeatureCompatibilityVersion: "8.0" , confirm: true } )

Para obtener más información, consulta setFeatureCompatibilityVersion.

Asegúrate de que ningún nodo del set de réplicas esté en el estado ROLLBACK o RECOVERING emitiendo el comando replSetGetStatus:

db.adminCommand( { replSetGetStatus: 1 } )

Al actualizar a 8.2, si tienes alguna colección system.buckets que no sea de series de tiempo, es posible que necesites drop o rename esas colecciones antes de actualizar, dependiendo de la versión del parche 8.0:

MongoDB 8.0.5 y posterior
No es necesario descartar las colecciones system.buckets que no sean colecciones de serie de tiempo antes de actualizar. Sin embargo, debes descartarlas o renombrarlas después de completar la actualización.
MongoDB 8.0.4 y versiones anteriores
Debe eliminar o renombrar system.buckets las colecciones que no sean de series temporales antes de actualizar. Todas las system.buckets colecciones deben tener configuradas opciones de series temporales válidas antes de actualizar a las versiones -.8.0.0 8.0.4

Para determinar si tienes colecciones system.buckets que no sean colecciones de series de tiempo, usa el método db.getCollectionInfos() con un filtro:

db.getCollectionInfos(
{
$and: [
{ name: { $regex: /^system\.buckets/ } },
{ 'options.timeseries': { $exists: false } }
]
}
)

Si se instaló MongoDB desde los repositorios de MongoDB apt, yum, dnf o zypper, se debería actualizar a 8.2 usando el administrador de Paquetes.

Se deben seguir las instrucciones de instalación 8.2 adecuadas para el sistema Linux. Esto implicará añadir un repositorio para la nueva versión y, a continuación, realizar el proceso de actualización propiamente dicho.

Si no se ha instalado MongoDB usando un administrador de paquetes, se pueden descargar manualmente los binarios de MongoDB desde el Centro de Descargas de MongoDB.

Consultar instrucciones de instalación 8.2 para obtener más información.

Puedes actualizar de MongoDB 8.0 a 8.2 mediante una actualización "progresiva" para minimizar el tiempo de inactividad mediante la actualización de los nodos de forma individual mientras los demás nodos están disponibles.

1

Para cerrar el proceso de mongod, utilice mongosh para conectarse a un miembro del Set de réplicas y ejecute el siguiente comando:

db.adminCommand( { shutdown: 1 } )
2

Actualiza los secundarios del set de réplicas uno a la vez:

  1. Reemplaza el binario 8.0 con el binario 8.2.

  2. Reinicia el nodo.

3

Se debe conectar mongosh al primario y usar rs.stepDown() para degradar el primario y forzar una elección de un nuevo primario.

4

Cuando rs.status() muestre que el primario ha dejado su puesto y otro nodo ha asumido el estado PRIMARY, actualiza el primario que ha dejado su puesto:

  1. Desactiva el primario degradado y reemplaza el binario mongod con el binario 8.2.

  2. Reinicia el nodo.

5

En este punto, se pueden ejecutar los binarios 8.2 sin las características 8.2 que son incompatibles con 8.0.

Para activar estas características 8.2, se debe establecer la compatibilidad de características entre versiones (FCV) a 8.2. También debe establecer confirm en verdadero si se actualiza a 7.0 o posterior.

Tip

Activar estas características incompatibles con versiones anteriores puede complicar el proceso de degradación, ya que se debe remover cualquier característica incompatible con versiones anteriores que persista antes de realizar la degradación.

Se recomienda que, tras la actualización, se permita que la implementación se ejecute sin habilitar estas características durante un periodo de prueba para asegurar que la probabilidad de reversión sea mínima. Cuando se esté seguro de que la probabilidad de degradación es mínima, se pueden activar estas características.

Tip

Asegúrese de que no haya sincronización inicial en curso. Ejecutar el comando setFeatureCompatibilityVersion mientras una sincronización inicial está en curso provocará que la sincronización inicial se reinicie.

En el primario, ejecuta el comando setFeatureCompatibilityVersion en la base de datos admin:

db.adminCommand( { setFeatureCompatibilityVersion: "8.2", confirm: true } )

La configuración de featureCompatibilityVersion (compatibilidad de características entre versiones): "8.2" realiza implícitamente un replSetReconfig para agregar el campo term al documento de configuración y se bloquea hasta que la nueva configuración se propaga a la mayoría de los nodos del set de réplicas.

Este comando debe realizar escrituras en una colección interna del sistema. Si por cualquier motivo el comando no se completa correctamente, puedes intentarlo de nuevo con seguridad en el primario, ya que la operación es idempotente.

Volver

Autónomo

En esta página