Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se explica cómo migrar DAG, datos y configuración de tu entorno existente de Cloud Composer 2 a un nuevo entorno de Cloud Composer 3 con el secuencia de comandos de migración.
Otras guías de migración
De | A | Método | Guía |
---|---|---|---|
Cloud Composer 2 | Cloud Composer 3 | En paralelo, con la secuencia de comandos de migración | Esta guía |
Cloud Composer 2 | Cloud Composer 3 | Comparación, con instantáneas | Guía de migración de instantáneas |
Cloud Composer 1, Airflow 2 | Cloud Composer 3 | Comparación, con instantáneas | Guía de migración de instantáneas |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Comparación, con instantáneas | Guía de migración de instantáneas |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Transferencia manual paralela | Guía de migración manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Comparación, con instantáneas | Guía de migración de instantáneas |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Transferencia manual paralela | Guía de migración manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 1, Airflow 2 | Transferencia manual paralela | Guía de migración manual |
Acerca de la secuencia de comandos de migración
La secuencia de comandos de migración es una secuencia de comandos de Python para migraciones paralelas que automatiza el proceso de migración de Cloud Composer 2 a Cloud Composer 3. Utiliza instantáneas del entorno para transferir la configuración del entorno al entorno nuevo.
La secuencia de comandos realiza las siguientes acciones:
Obtiene la configuración del entorno de Cloud Composer 2.
Crea un entorno de Cloud Composer 3 con una configuración que coincida con la configuración obtenida.
Debido a que los entornos de Cloud Composer 3 tienen una arquitectura diferente, es posible que algunos parámetros deban ajustarse para que coincidan con las diferencias. También puedes ajustar la mayoría de los parámetros del entorno más adelante.
Pausa todos los DAG del entorno de Cloud Composer 2 uno por uno. Solo se reactivarán los DAG que se hayan reactivado en el entorno de Cloud Composer 2.
Guarda una instantánea del entorno de Cloud Composer 2 de origen. La instantánea se guarda en la ubicación predeterminada para las instantáneas, el bucket del entorno de Cloud Composer 2.
Carga la instantánea en el entorno de Cloud Composer 3.
La secuencia de comandos no verifica la compatibilidad de los paquetes de PyPI personalizados, las variables de entorno ni las anulaciones de opciones de configuración de Airflow con el entorno de Cloud Composer 3.
En caso de conflictos, la migración falla después de que se crea el entorno de Cloud Composer 3, durante el proceso de carga de la instantánea. En este caso, puedes ajustar la configuración de tu entorno de Cloud Composer 2 para resolver el conflicto o migrar sin la secuencia de comandos de migración y omitir la carga de paquetes PyPI personalizados, variables de entorno o anulaciones de configuración de Airflow cuando cargues la instantánea.
Reanuda los DAG en el entorno de Cloud Composer 3. Si algunos DAG ya estaban detenidos antes de que ejecutaras la secuencia de comandos, permanecerán detenidos.
La secuencia de comandos tiene las siguientes limitaciones:
La secuencia de comandos siempre crea un entorno nuevo de Cloud Composer 3. No es posible cargar la instantánea en un entorno existente de Cloud Composer 3. Para ello, puedes migrar con instantáneas, sin usar la secuencia de comandos de migración.
La secuencia de comandos crea un entorno de Cloud Composer 3 solo en la misma región y el mismo proyecto que el entorno de Cloud Composer 2.
Solo puedes cargar instantáneas en la misma versión o en una versión posterior de Airflow. Por ejemplo, no puedes cargar una instantánea de Airflow 2.10.2 en Airflow 2.9.3.
Solo se pueden migrar los entornos de Cloud Composer 2 con la secuencia de comandos de migración.
Antes de comenzar
Dado que la secuencia de comandos de migración crea un entorno y, luego, guarda y carga una instantánea, el proceso de migración puede tardar más de una hora.
La secuencia de comandos usa instantáneas. Se admiten instantáneas
en la versión 2.0.9 y versiones posteriores de Cloud Composer 2
Tu cuenta requiere un rol de IAM que pueda crear entornos, guardar instantáneas y cargar instantáneas.
El tamaño máximo de la base de datos de Airflow que admite instantáneas es de 20 GB. Si la base de datos de tu entorno ocupa más de 20 GB, reduce el tamaño de la base de datos de Airflow.
La cantidad total de objetos en las carpetas
/dags
,/plugins
y/data
del bucket del entorno debe ser inferior a 100,000 para crear instantáneas.Si usas el mecanismo XCom para transferir archivos, asegúrate de usarlo según los lineamientos de Airflow. La transferencia de archivos grandes o una gran cantidad de archivos con XCom afecta el rendimiento de la base de datos de Airflow y puede provocar errores al cargar instantáneas o actualizar tu entorno. Considera usar alternativas como Cloud Storage para transferir grandes volúmenes de datos.
Migra a Cloud Composer 3
En esta sección, se describe el proceso de migración con la secuencia de comandos de migración.
Comprueba las diferencias entre Cloud Composer 2 y Cloud Composer 3
Consulta la lista de diferencias entre Cloud Composer 2 y Cloud Composer 3.
Asegúrate de que tu entorno no use funciones que aún no estén disponibles en Cloud Composer 3 y de que sepas cómo usar y configurar las funciones específicas de Cloud Composer 3.
Asegúrate de que tus DAG sean compatibles con Cloud Composer 3
Para asegurarte de que tus DAG sean compatibles con Cloud Composer 3, sigue estas sugerencias:
La lista de paquetes en el entorno de Cloud Composer 3 puede ser diferente de la de tu entorno de Cloud Composer 2. Esto podría afectar la compatibilidad de tus DAGs con Cloud Composer 3.
En Cloud Composer 3, el clúster del entorno se encuentra en el proyecto de usuario. Asegúrate de que tus DAG sean compatibles con este cambio. En particular, las cargas de trabajo de
KubernetesPodOperator
ahora se ajustan de forma independiente de tu entorno, y no es posible usar configuraciones de afinidad de Pods.
Instala las dependencias del script de instalación
La secuencia de comandos requiere la versión 3.8 de Python y versiones posteriores.
La secuencia de comandos de migración usa utilidades de gcloud CLI y de
curl
. Asegúrate de que ambas utilidades estén instaladas en tu computadora.
Descarga la secuencia de comandos
Descarga la secuencia de comandos de migración (composer_migrate.py
) desde su repositorio en GitHub.
Autoriza en gcloud CLI
Autoriza en gcloud CLI:
gcloud auth login
Obtén una vista previa de los parámetros del nuevo entorno
Puedes obtener una vista previa de los parámetros del entorno de Cloud Composer 3 antes de la migración. Puedes usar esta información para ver cómo la configuración del entorno de Cloud Composer 2 se corresponde con Cloud Composer 3.
Las anulaciones de opciones de configuración de Airflow, los paquetes de PyPI personalizados y las variables de entorno se cargan desde la instantánea del entorno y no se muestran en la vista previa.
Expandir
Ejecuta el siguiente comando:
python3 composer_migrate.py \
--project PROJECT_ID \
--location LOCATION \
--source_environment COMPOSER_2_ENV \
--target_environment COMPOSER_3_ENV \
--target_airflow_version COMPOSER_3_AIRFLOW_VERSION \
--dry_run
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto.COMPOSER_2_ENV
: Es el nombre de tu entorno de Cloud Composer 2.LOCATION
: Es la región en la que se encuentra el entorno de Cloud Composer 2. El entorno de Cloud Composer 3 se creará en la misma región.COMPOSER_3_AIRFLOW_VERSION
: Es la versión de Airflow del entorno de Cloud Composer 3. Esta versión debe ser igual o posterior a la del entorno de Cloud Composer 2 y debe ser una de las versiones disponibles en Cloud Composer 3.
Ejemplo:
python3 composer_migrate.py \
--project example-project \
--location us-central1 \
--source_environment example-composer-2-environment \
--target_environment example-composer-3-environment \
--target_airflow_version 2.10.2
Verifica el estado del entorno
Asegúrate de que el entorno de Cloud Composer 2 que deseas migrar esté en buen estado.
Si tu entorno no es saludable, el proceso de migración fallará después de crear un nuevo entorno de Cloud Composer 3 porque no será posible crear una instantánea.
Consulta Usa el panel de supervisión para obtener más información sobre las formas de verificar el estado del entorno y de la base de datos.
Ejecuta la secuencia de comandos de migración
Ejecuta el siguiente comando:
python3 composer_migrate.py \
--project PROJECT_ID \
--location LOCATION \
--source_environment COMPOSER_2_ENV \
--target_environment COMPOSER_3_ENV \
--target_airflow_version COMPOSER_3_AIRFLOW_VERSION
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto.COMPOSER_2_ENV
: Es el nombre de tu entorno de Cloud Composer 2.LOCATION
: Es la región en la que se encuentra el entorno de Cloud Composer 2. El entorno de Cloud Composer 3 se creará en la misma región.COMPOSER_3_AIRFLOW_VERSION
: Es la versión de Airflow del entorno de Cloud Composer 3. Esta versión debe ser igual o posterior a la del entorno de Cloud Composer 2 y debe ser una de las versiones disponibles en Cloud Composer 3.
Verifica si hay errores en el DAG
En la interfaz web de Airflow, ve a DAGs y busca los errores de sintaxis del DAG que se hayan informado.
Verifica que las ejecuciones del DAG estén programadas para el momento correcto.
Espera a que se ejecuten los DAG en el entorno de Cloud Composer 3 y verifica si se completaron correctamente. Si una ejecución del DAG se realizó correctamente, no la reanudes en el entorno de Cloud Composer 2. Si lo haces, se producirá una ejecución del DAG para la misma fecha y hora en tu entorno de Cloud Composer 2.
Si falla una ejecución de DAG específica, intenta solucionar el DAG hasta que se ejecute correctamente en Cloud Composer 3.
Supervisa tu entorno de Cloud Composer 3
Supervisa tu entorno de Cloud Composer 3 para detectar posibles problemas, ejecuciones de DAG fallidas y el estado general del entorno.
Si el entorno de Cloud Composer 3 se ejecuta sin problemas durante un período suficiente, considera borrar el entorno de Cloud Composer 2.