Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se explica cómo transferir DAGs, datos y configuración de tu entorno de Cloud Composer 2 a Cloud Composer 3.
Otras guías de migración
De | Para | Método | Guía |
---|---|---|---|
Cloud Composer 2 | Cloud Composer 3 | En paralelo, con la secuencia de comandos de migración | Guía de migración de secuencias de comandos |
Cloud Composer 2 | Cloud Composer 3 | En paralelo, con capturas | Esta guía |
Cloud Composer 1, Airflow 2 | Cloud Composer 3 | En paralelo, con capturas | Guía de migración de capturas |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | En paralelo, con capturas | Guía de migración de capturas |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Transferencia manual en paralelo | Guía de migración manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | En paralelo, con capturas | Guía de migración de capturas |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Transferencia manual en paralelo | Guía de migración manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 1, Airflow 2 | Transferencia manual en paralelo | Guía de migración manual |
Antes de empezar
En esta guía de migración se usan capturas. Las instantáneas se admiten en Cloud Composer 2 versión 2.0.9 y posteriores.
Cloud Composer admite la migración en paralelo de Cloud Composer 2 a Cloud Composer 3. No es posible actualizar de Cloud Composer 2 a Cloud Composer 3 in situ.
Consulta la lista de diferencias entre Cloud Composer 2 y Cloud Composer 3. Asegúrate de que tu entorno no utilice funciones que aún no estén disponibles en Cloud Composer 3.
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 su tamaño.
El número total de objetos de las carpetas
/dags
,/plugins
y/data
del segmento del entorno debe ser inferior a 100.000 para poder crear snapshots.Si usas el mecanismo XCom para transferir archivos, asegúrate de usarlo de acuerdo con las directrices de Airflow. La transferencia de archivos grandes o de un gran número de archivos mediante XCom afecta al rendimiento de la base de datos de Airflow y puede provocar errores al cargar instantáneas o actualizar el entorno. Puedes usar alternativas como Cloud Storage para transferir grandes volúmenes de datos.
Comprueba que tus DAGs sean compatibles con Cloud Composer 3
Asegúrate de que tus DAGs sean compatibles con Cloud Composer 3 siguiendo estas sugerencias:
La lista de paquetes del entorno de Cloud Composer 3 puede ser diferente a la de tu entorno de Cloud Composer 2. Esto puede afectar a la compatibilidad de tus DAGs con Cloud Composer 3.
Cloud Composer carga las anulaciones de configuración, las variables de entorno y los paquetes de PyPI de la instantánea de tu entorno de Cloud Composer 2 en Cloud Composer 3 sin cambiarlos ni ajustarlos para que sean compatibles. Para resolver los conflictos entre estos parámetros de configuración, puedes omitir la carga de paquetes PyPI personalizados, variables de entorno y anulaciones de configuración de Airflow al cargar la instantánea.
En Cloud Composer 3, el clúster del entorno se encuentra en el proyecto de inquilino. Asegúrate de que tus DAGs sean compatibles con este cambio. En concreto, las cargas de trabajo de
KubernetesPodOperator
ahora se escalan de forma independiente de tu entorno y no es posible usar configuraciones de afinidad de pods.
Pausar DAGs en un entorno de Cloud Composer 2
Para evitar que se ejecuten DAGs duplicados, pausa todos los DAGs de tu entorno de Cloud Composer 2 antes de guardar su snapshot. Omite el DAG de monitorización de la actividad (airflow_monitoring
), que se usa con fines de monitorización y no se incluye en las instantáneas del entorno.
Puedes usar cualquiera de las siguientes opciones para pausar los DAGs:
Pausar los DAGs uno a uno en la consola de Google Cloud :
En la Google Cloud consola, ve a la página Entornos.
Selecciona un entorno para ver sus detalles.
En la página Detalles del entorno, vaya a la pestaña DAGs.
Haz clic en el nombre de un DAG.
En la página Detalles del DAG, haz clic en Pausar DAG.
En la interfaz web de Airflow, ve a DAGs y pausa todos los DAGs manualmente.
Usa la secuencia de comandos composer_dags para pausar todos los DAGs:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation pause
Sustituye:
COMPOSER_2_ENV
con el nombre de tu entorno de Cloud Composer 2.PROJECT_ID
con el ID del proyecto.COMPOSER_2_LOCATION
con la región en la que se encuentra el entorno.
Guardar una instantánea de un entorno de Cloud Composer 2
Consola
Crea una instantánea de tu entorno:
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno de Cloud Composer 2. Se abrirá la página Detalles del entorno.
Haz clic en Crear copia.
En el cuadro de diálogo Crear captura, haz clic en Enviar. En esta guía, guardas la instantánea en el bucket del entorno de Cloud Composer 2, pero puedes seleccionar otra ubicación si quieres. Si especificas una ubicación personalizada, las cuentas de servicio de ambos entornos deben tener permisos de lectura y escritura en la ubicación especificada.
Espera a que Cloud Composer cree la instantánea.
Una vez creada la instantánea, el mensaje que se muestra indica la ubicación de la instantánea. Guarda esta información para usarla más adelante cuando cargues esta instantánea en el entorno de Cloud Composer 3.
Por ejemplo, la ubicación de la captura podría ser la siguiente:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
gcloud
Crea una instantánea de tu entorno de Cloud Composer 2:
gcloud composer environments snapshots save \ COMPOSER_2_ENV \ --location COMPOSER_2_LOCATION
Sustituye:
COMPOSER_2_ENV
con el nombre de tu entorno de Cloud Composer 2.COMPOSER_2_LOCATION
con la región en la que se encuentra el entorno de Cloud Composer 2.(Opcional) Puedes usar el argumento
--snapshot-location
para especificar una ubicación personalizada en la que se debe almacenar la instantánea del entorno.En esta guía, guardas la instantánea en el segmento del entorno de Cloud Composer 2, pero puedes seleccionar otra ubicación si quieres. Si especificas una ubicación personalizada, las cuentas de servicio de ambos entornos deben tener permisos de lectura y escritura en la ubicación especificada.
Una vez creada la instantánea, el mensaje que se muestra indica la ubicación de la instantánea. Guarda esta información para usarla más adelante cuando cargues esta instantánea en el entorno de Cloud Composer 3.
Por ejemplo, la ubicación de la captura podría ser la siguiente:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
Crear un entorno de Cloud Composer 3
Crea un entorno de Cloud Composer 3 siguiendo estas directrices:
Puedes empezar con la misma configuración de límites de recursos que tu entorno de Cloud Composer 2 y, más adelante, escalar y optimizar aún más la configuración.
En los entornos de Cloud Composer 3, el procesador de DAGs de Airflow se ejecuta como un componente independiente del entorno. Como el procesador de DAGs descarga el análisis de los DAGs del programador, puede que quieras redistribuir los recursos que se hayan asignado previamente a los programadores de Airflow. Puedes hacerlo más adelante, después de migrar a Cloud Composer 3 y monitorizar el rendimiento del programador y del procesador de DAGs.
Cloud Composer 3 ofrece una configuración de red más optimizada y simplificada en comparación con Cloud Composer 2. Puedes cambiar entre la configuración de redes con IP pública y con IP privada, así como adjuntar y separar redes de VPC. No es necesario que especifiques intervalos de IP . Asegúrate de que la configuración de red de tu entorno de Cloud Composer 3 coincida con la de Cloud Composer 2.
No es necesario que especifiques las anulaciones de configuración ni las variables de entorno, ya que las sustituirás más adelante cuando cargues la instantánea de tu entorno de Cloud Composer 2.
Carga la instantánea en tu entorno de Cloud Composer 3
Consola
Para cargar la instantánea en tu entorno de Cloud Composer 3, sigue estos pasos:
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno de Cloud Composer 3. Se abrirá la página Detalles del entorno.
Haz clic en Cargar instantánea.
En el cuadro de diálogo Cargar instantánea, haz clic en Explorar.
Selecciona la carpeta que contenga la copia.
Si usas la ubicación predeterminada de esta guía, esta carpeta se encuentra en el segmento de tu entorno de Cloud Composer 2, en la carpeta
/snapshots
, y su nombre es la marca de tiempo de la operación de guardado de la instantánea. La misma ubicación se mostró en el mensaje sobre la creación correcta de la captura.Por ejemplo:
us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.Haz clic en Cargar y espera a que Cloud Composer cargue la instantánea.
gcloud
Carga la instantánea de tu entorno de Cloud Composer 2 en tu entorno de Cloud Composer 3:
gcloud composer environments snapshots load \
COMPOSER_3_ENV \
--location COMPOSER_3_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Sustituye:
COMPOSER_3_ENV
con el nombre de tu entorno de Cloud Composer 3.COMPOSER_3_LOCATION
con la región en la que se encuentra el entorno de Cloud Composer 3.SNAPSHOT_PATH
con el URI del segmento de tu entorno de Cloud Composer 2, seguido de la ruta a la instantánea. La misma ubicación se mostró en el mensaje sobre la creación correcta de la captura. Por ejemplo:gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12
.
Reanudar DAGs en el entorno de Cloud Composer 3
Puedes usar cualquiera de las siguientes opciones:
Reanuda los DAGs uno a uno en la Google Cloud consola:
En la Google Cloud consola, ve a la página Entornos.
Selecciona un entorno para ver sus detalles.
En la página Detalles del entorno, vaya a la pestaña DAGs.
Haz clic en el nombre de un DAG.
En la página Detalles de DAG, haz clic en Reanudar DAG.
En la interfaz web de Airflow, ve a DAGs y reanuda todos los DAGs manualmente uno por uno.
Usa la secuencia de comandos composer_dags para reactivar todos los DAGs:
python3 composer_dags.py --environment COMPOSER_3_ENV \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ --operation unpause
Sustituye:
COMPOSER_3_ENV
con el nombre de tu entorno de Cloud Composer 3.PROJECT_ID
con el ID del proyecto.COMPOSER_3_LOCATION
con la región en la que se encuentra el entorno.
Comprobar si hay errores en los DAGs
En la interfaz web de Airflow, ve a DAGs y comprueba si hay errores de sintaxis de DAG.
Comprueba que las ejecuciones de DAG estén programadas a la hora correcta.
Espera a que se ejecuten los DAGs en el entorno de Cloud Composer 3 y comprueba si se han completado correctamente. Si una ejecución de un DAG se ha completado correctamente, no la reanudes en el entorno de Cloud Composer 2. Si lo haces, se producirá una ejecución de DAG para la misma hora y fecha en tu entorno de Cloud Composer 2.
Si falla la ejecución de un DAG específico, intenta solucionar los problemas del DAG hasta que se ejecute correctamente en Cloud Composer 3.
Monitorizar un entorno de Cloud Composer 3
Después de transferir todos los DAGs y la configuración al entorno de Cloud Composer 3, monitorízalo para detectar posibles problemas, ejecuciones de DAGs fallidas y el estado general del entorno.
Si el entorno de Cloud Composer 3 funciona sin problemas durante un periodo suficiente, puedes eliminar el entorno de Cloud Composer 2.