Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Degradar 8.3 Set de réplicas a 8.2

Importante

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

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

Antes de intentar realizar una degradación, familiarízate con el contenido de esta página.

Importante

Antes de actualizar o degradar un Set de réplicas, asegúrate de que todos los miembros del Set de réplicas estén en funcionamiento. De lo contrario, la actualización o degradación no se completará hasta que se inicien todos los miembros.

Si necesita degradar desde 8.3, degrade a la última versión parcheada de 8.2.

MongoDB solo admite degradaciones de una única versión a lo largo de versiones adyacentes. No puedes cambiar a una versión que esté varias versiones por detrás de tu versión actual.

  • Para cualquier versión, mayor o menor, puedes actualizar o degradar a sus vecinos adyacentes. Por ejemplo, puedes degradar desde 8.3 hasta 8.2 o actualizar desde 7.0 hasta 8.0.

  • Para todas las versiones, tanto mayores como menores, puedes degradar a la versión mayor inmediatamente anterior. Por ejemplo, desde 8.3 hasta 8.0.

  • Para cualquier versión menor, puedes actualizar a la siguiente versión inmediatamente. Por ejemplo, desde 8.2 hasta 8.3.

Si tu set de réplicas tiene el control de acceso habilitado, tus privilegios de degradación de usuario deben incluir privilegios para listar y administrar índices en todas las bases de datos. Un usuario con root El rol tiene los privilegios requeridos.

Antes de comenzar con el procedimiento de degradación, debes completar los siguientes pasos previos.

1

Opcional, pero recomendado. Crea una copia de seguridad de tu base de datos.

Para aprender cómo crear una copia de seguridad, consulte Métodos de copia de seguridad para una implementación autogestionada.

2

Para pasar de la versión 8.3 a 8.2 la, debe eliminar 8.3 las funciones de la versión que son incompatibles con la 8.2 versión. Para obtener una lista de las funciones incompatibles y cómo eliminarlas, consulte Consideraciones sobre la actualización a una versión anterior.

3

Para rebajar el compatibilidad de características entre versiones de tu set de réplicas:

  1. Asegúrate de que no haya una sincronización inicial en curso. Ejecutar el comando setFeatureCompatibilityVersion mientras se está llevando a cabo una sincronización inicial provoca que la sincronización inicial se reinicie.

  2. Asegúrate de que ningún nodo tenga un campo newlyAdded en su configuración del set de réplicas. Ejecuta el siguiente comando en cada nodo de tu set de réplicas para verificar esto:

    use local
    db.system.replset.find( { "members.newlyAdded" : { $exists : true } } );

    El campo newlyAdded solo aparece en el documento de configuración del set de réplicas de un nodo durante y poco después de una sincronización inicial.

  3. Asegúrese de que ningún miembro del conjunto de réplicas esté en el ROLLBACK ni en el RECOVERING estado.

  4. Usar mongosh para conectarse a su principal.

  5. Degrade el featureCompatibilityVersion a "8.2".

    Importante

    Verifique que haya eliminado todas las funciones incompatibles con versiones anteriores antes de degradar la versión binaria. Asegúrese de evaluar su ruta de actualización antes de continuar.

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

    El comando setFeatureCompatibilityVersion realiza operaciones de guardado en una colección del sistema interno y es idempotente. Si el comando no se completa correctamente, vuelve a intentarlo en primaria.

  6. Para garantizar que todos los miembros del set de réplicas tengan el featureCompatibilityVersion actualizado, conecte con cada miembro del set de réplicas y verifique el featureCompatibilityVersion:

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

    Si cualquier nodo retorna un featureCompatibilityVersion de "8.3", espera a que el nodo retorne la versión "8.2" antes de continuar.

Para obtener más información sobre el valor de featureCompatibilityVersion devuelto, consulta Obtener la Version de Compatibilidad de Características.

Advertencia

Antes de proceder con el procedimiento de degradación, asegúrate de que todos los miembros del set de réplicas, incluidos los miembros retardados del set de réplicas, hayan realizado los cambios previos requeridos. Para hacer eso, verifica el featureCompatibilityVersion y luego remueve las funcionalidades incompatibles de cada nodo antes de hacer la rebaja de versión.

1

Mediante un gestor de paquetes o una descarga manual, obtenga la última versión de 8.2. Si utiliza un gestor de paquetes, añada un nuevo repositorio para los binarios de 8.2 y, a continuación, realice el proceso de degradación.

Importante

Antes de actualizar o degradar un clúster, asegúrate de que todos los nodos del clúster estén en funcionamiento. Si no lo hace, la actualización o degradación no se completará hasta que todos los nodos estén iniciados.

Si necesita degradar desde 8.3, degrade a la última versión parcheada de 8.2.

2

Asegúrese de que los binarios 8.2 estén en la ruta de acceso del sistema. Para confirmar la versión de su binario, ejecute el siguiente comando:

mongod --version

La salida del comando debería indicar una liberación 8.2.

3

Degrade cada secundario miembro del set de réplicas, uno a la vez:

  1. Apaga el nodo.

    Para cerrar el proceso mongod, utiliza mongosh para conectarte al secundario y ejecuta el siguiente comando:

    db.adminCommand( { shutdown: 1 } )
  2. Reinicia el nodo.

    Para iniciar un proceso mongod, ejecuta el siguiente comando:

    mongod --dbpath </path-to-data-folder>

    Para obtener más información sobre cómo iniciar un proceso mongod, consulta Inicia procesos mongod.

  3. Espere a que el nodo entre en el estado SECONDARY.

    Antes de degradar el siguiente secundario, espere a que el nodo se recupere al estado SECONDARY. Para verificar el estado del nodo, utiliza el método rs.status() en mongosh.

  4. Después de que el nodo esté en la etapa SECONDARY, se debe degradar el siguiente secundario.

4

Omite este paso si el conjunto de réplicas no incluye un árbitro.

Degradar al árbitro nodo del set de réplicas:

  1. Apaga el nodo.

    Para apagar el árbitro, use mongosh para conectarse al árbitro y ejecute el siguiente comando:

    db.adminCommand( { shutdown: 1 } )
  2. Borrar el contenido del directorio de datos del árbitro.

    Para encontrar el directorio de datos del árbitro mongod, revise la configuración de la storage.dbPath o la opción de línea de comandos --dbpath.

    Ejecuta el siguiente comando:

    rm -rf /path/to/mongodb/datafiles/*
  3. Reinicia el árbitro.

    Para iniciar un proceso mongod, ejecuta el siguiente comando:

    mongod --dbpath </path-to-mongodb-datafiles>

    Para obtener más información sobre cómo iniciar un proceso mongod, consulta Inicia procesos mongod.

  4. Espere a que el nodo entre en el estado ARBITER.

    Antes de hacer un downgrade, espere a que el nodo se recupere al estado ARBITER. Para verificar el estado del nodo, utiliza el método rs.status() en mongosh.

5
  1. Degradar al primario.

    En mongosh, utilice rs.stepDown() para dejar de ser primario y forzar el procedimiento normal de conmutación por falla.

    rs.stepDown()
  2. Verifique que el primario se haya desactivado.

    Ejecuta el siguiente comando:

    rs.status()

    Verifique que el nodo principal haya renunciado y que otro nodo haya asumido el estado PRIMARY.

  3. Reemplazar y reiniciar el antiguo primary mongod.

    1. Apaga el nodo.

      Para realizar un apagado del principal, utilice mongosh para conectarse al principal y ejecute el siguiente comando:

      db.adminCommand( { shutdown: 1 } )
    2. Reinicie mongod con el binario 8.2.

      Para iniciar un proceso mongod, ejecuta el siguiente comando:

      mongod --dbpath </path-to-mongodb-datafiles>

      Para obtener más información sobre cómo iniciar un proceso mongod, consulta Inicia procesos mongod.

Volver

Autónomo

En esta página