Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se explica cómo transferir DAGs, datos y configuración de tus entornos de Cloud Composer 1 y Airflow 2 a Cloud Composer 2 y Airflow 2.
En esta guía de migración se usa la función Snapshots.
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 | Guía de migración de capturas |
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 | Esta guía |
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
Las instantáneas se admiten en Cloud Composer 2 versión 2.0.9 y posteriores. Cloud Composer 1 admite el guardado de instantáneas de entornos en la versión 1.18.5.
Cloud Composer admite la migración en paralelo de Cloud Composer 1 a Cloud Composer 2. No se puede actualizar de Cloud Composer 1 a Cloud Composer 2 in situ.
Consulta la lista de diferencias entre Cloud Composer 1 y Cloud Composer 2.
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.
Paso 1: Pausa los DAGs de tu entorno de Cloud Composer 1
Para evitar que se ejecuten DAGs duplicados, pausa todos los DAGs de tu entorno de Cloud Composer 1 antes de guardar su instantánea.
Puedes usar cualquiera de las siguientes opciones:
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_1_ENV \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ --operation pause
Sustituye:
COMPOSER_1_ENV
con el nombre de tu entorno de Cloud Composer 1.PROJECT_ID
con el ID del proyecto.COMPOSER_1_LOCATION
con la región en la que se encuentra el entorno.
(Versiones de Airflow 2.9.1 y posteriores) Si se producen errores de cuota al pausar un gran número de DAGs, puedes usar los siguientes comandos de la CLI de Airflow para pausar todos los DAGs a la vez:
gcloud composer environments run COMPOSER_1_ENV dags pause \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ -- -y --treat-dag-id-as-regex ".*"
(Versiones de Airflow anteriores a la 2.9.1) Si se producen errores de cuota al pausar un gran número de DAGs, puedes pausarlos mediante la API REST de Airflow. Consulta también la sección Probar la API de la documentación de Airflow.
Paso 2: Guarda la instantánea de tu entorno de Cloud Composer 1
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 1. 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, guardarás la instantánea en el bucket del entorno de Cloud Composer 1, pero puedes seleccionar otra ubicación si quieres.
Espera a que Cloud Composer cree la instantánea.
gcloud
Obtén el URI del segmento de tu entorno de Cloud Composer 1:
Ejecuta el siguiente comando:
gcloud composer environments describe COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --format="value(config.dagGcsPrefix)"
Sustituye:
COMPOSER_1_ENV
con el nombre de tu entorno de Cloud Composer 1.COMPOSER_1_LOCATION
por la región en la que se encuentra el entorno.
En el resultado, elimina la carpeta
/dags
. El resultado es el URI del cubo de tu entorno de Cloud Composer 1.Por ejemplo, cambia
gs://us-central1-example-916807e1-bucket/dags
porgs://us-central1-example-916807e1-bucket
.
Crea una instantánea de tu entorno de Cloud Composer 1:
gcloud composer environments snapshots save \ COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
Sustituye:
COMPOSER_1_ENV
con el nombre de tu entorno de Cloud Composer 1.COMPOSER_1_LOCATION
con la región en la que se encuentra el entorno de Cloud Composer 1.COMPOSER_1_SNAPSHOTS_FOLDER
con el URI del segmento de tu entorno de Cloud Composer 1. En esta guía, guardas la instantánea en el segmento del entorno de Cloud Composer 1, 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.
Paso 3: Crea un entorno de Cloud Composer 2
Crea un entorno de Cloud Composer 2. Puedes empezar con un ajuste predefinido del entorno que se adapte a las demandas de recursos previstas y, más adelante, escalar y optimizar aún más tu entorno.
No es necesario que especifiques anulaciones de configuración ni variables de entorno, ya que las sustituirás más adelante al cargar la instantánea de tu entorno de Cloud Composer 1.
Paso 4: Carga la instantánea en tu entorno de Cloud Composer 2
Consola
Para cargar la instantánea en tu entorno de Cloud Composer 2, 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 2. 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 bucket de tu entorno de Cloud Composer 1, en la carpeta
/snapshots
, y su nombre es la marca de tiempo de la operación de guardado de la instantánea. Por ejemplo,us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00
.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 1 en tu entorno de Cloud Composer 2:
gcloud composer environments snapshots load \
COMPOSER_2_ENV \
--location COMPOSER_2_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
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.SNAPSHOT_PATH
con el URI del segmento de tu entorno de Cloud Composer 1, seguido de la ruta a la instantánea. Por ejemplo,gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00
.
Paso 5: Reanuda los DAGs en el entorno de Cloud Composer 2
Puedes usar cualquiera de las siguientes opciones:
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_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation unpause
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.
(Versiones 2.9.1 y posteriores de Airflow) Si se producen errores de cuota al reactivar un gran número de DAGs, puedes usar los siguientes comandos de la CLI de Airflow para reactivar todos los DAGs a la vez:
gcloud composer environments run COMPOSER_2_ENV dags unpause \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ -- -y --treat-dag-id-as-regex ".*"
(Versiones de Airflow anteriores a la 2.9.1) Si se producen errores de cuota al reactivar un gran número de DAGs, puedes reactivarlos mediante la API REST de Airflow. Consulta también la sección Probar la API de la documentación de Airflow.
Paso 6: Comprobar si hay errores de DAG
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 2 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 1. Si lo haces, se producirá una ejecución del DAG a la misma hora y fecha en tu entorno de Cloud Composer 1.
Si falla la ejecución de un DAG específico, intenta solucionar los problemas del DAG hasta que se ejecute correctamente en Cloud Composer 2.
Paso 7: Monitoriza tu entorno de Cloud Composer 2
Después de transferir todos los DAGs y la configuración al entorno de Cloud Composer 2, monitorízalo para detectar posibles problemas, ejecuciones de DAGs fallidas y el estado general del entorno.
Si el entorno de Cloud Composer 2 funciona sin problemas durante un periodo suficiente, puedes eliminar el entorno de Cloud Composer 1.
Siguientes pasos
- Solucionar problemas de DAGs
- Solucionar problemas de creación de entornos
- Solucionar problemas de actualizaciones del entorno
- Usar paquetes de versiones anteriores