Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
En esta página, se describe qué datos almacena Cloud Composer para tu entorno en Cloud Storage.
Cuando creas un entorno, Cloud Composer crea un depósito de Cloud Storage y lo asocia a tu entorno. El nombre del bucket se basa en el entorno
región, nombre y un ID aleatorio, como us-central1-b1-6efabcde-bucket
.
Cloud Composer sincroniza carpetas específicas el bucket de tu entorno a los componentes de Airflow que se ejecutan en tu entorno. Por ejemplo, cuando actualizas un archivo con el código de tu DAG de Airflow en el de Google bucket, los componentes de Airflow también reciben la versión actualizada. Cloud Composer usa Cloud Storage FUSE para la sincronización.
Carpetas en el bucket de Cloud Storage
Carpeta | Ruta de almacenamiento | Directorio asignado | Descripción |
---|---|---|---|
DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Almacena DAG para tu entorno. |
Complementos | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Almacena tus complementos personalizados, como operadores, hooks, interfaces o sensores personalizados internos de Airflow. |
Datos | gs://bucket-name/data |
/home/airflow/gcs/data |
Almacena los datos que las tareas producen y usan. |
Registros | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Almacena los registros de Airflow para las tareas. Los registros también están disponibles en la interfaz web de Airflow y en la pestaña Registros de la consola de Google Cloud. |
Cloud Composer sincroniza las carpetas dags/
y plugins/
.
de forma unidireccional. La sincronización unidireccional implica que los cambios locales en estos
y las carpetas de un componente de Airflow. data/
y logs/
se sincronizan de forma bidireccional.
La sincronización de datos tiene coherencia eventual. Cómo enviar mensajes de un operador a otro, Usa XComs.
Consideraciones de capacidad
Los datos de las carpetas dags/
, plugins/
y data/
se sincronizan con Airflow
programadores y trabajadores.
En Airflow 2, el contenido de la carpeta plugins/
también se sincroniza con el
Servidor web de Airflow. En Airflow 1, las carpetas dags/
y plugins/
de contenido
se sincroniza con el servidor web de Airflow solo si la serialización de DAG está desactivada.
De lo contrario, no se realizará la sincronización.
Cuantos más datos se ubiquen en estas carpetas, más espacio se ocupará
en el almacenamiento local
de los componentes de Airflow. Se están guardando demasiados datos en
dags/
y plugins/
pueden interrumpir tus operaciones y generar problemas como los siguientes:
Un trabajador o programador se queda sin almacenamiento local y es expulsado porque espacio insuficiente en el disco local del componente.
La sincronización de archivos de las carpetas
dags/
yplugins/
a los trabajadores y programadores lleva mucho tiempo.La sincronización de archivos de las carpetas
dags/
yplugins/
con los trabajadores y programadores se vuelve imposible. Por ejemplo, almacenas un archivo de 2 GB en ladags/
, pero el disco local de un trabajador de Airflow solo puede para 1 GB. Durante la sincronización, el trabajador se queda sin aplicaciones del almacenamiento y la sincronización.
Carpetas de DAG y complementos
Para evitar fallas en la ejecución del DAG, almacena tus DAG, complementos y módulos de Python en el
Carpetas dags/
o plugins/
, incluso si los módulos de Python no contienen DAG
o complementos.
Por ejemplo, usa un DataFlowPythonOperator
que hace referencia a un py_file
.
Canalización de Dataflow. Ese py_file
no contiene DAG ni
pero también debes almacenarlo en la carpeta dags/
o plugins/
.
Carpeta de datos
Hay situaciones en las que ciertos archivos de la carpeta data/
se
sincronizada con un componente específico de Airflow. Por ejemplo, cuando
Cloud Composer intenta leer un archivo determinado por primera vez durante lo siguiente:
Análisis de DAG: Cuando se lee un archivo por primera vez durante el análisis del DAG Cloud Composer lo sincroniza con el programador que analiza el DAG.
Ejecución del DAG: Cuando se lee un archivo por primera vez durante la ejecución del DAG, Cloud Composer lo sincroniza con el trabajador que ejecuta la ejecución.
Los componentes de Airflow tienen almacenamiento local limitado, por lo que te recomendamos borrarlos para liberar espacio en el disco en tus componentes. Ten en cuenta que la configuración el uso del almacenamiento también puede aumentar temporalmente si tienes tareas simultáneas que descargar el mismo archivo a un solo trabajador de Airflow.
Carpeta de registros
La carpeta logs/
se sincroniza de los trabajadores de Airflow con el
bucket con la API de Cloud Storage.
La cuota de la API de Cloud Storage se calcula según la cantidad de datos que se trasladan la cantidad de tareas de Airflow que ejecuta tu sistema puede aumentar tu uso de la API de Cloud Storage: cuantas más tareas ejecutes, más grande será tu registro archivos.
Sincronización con el servidor web
Airflow 2 usa la serialización de DAG lista para usar. La carpeta plugins/
se sincroniza automáticamente con el servidor web de modo que los complementos puedan cargarse
IU de Airflow. No puedes desactivar la serialización de DAG en Airflow 2.
En Airflow 1, la serialización de DAG es compatible y está activada de forma predeterminada en Cloud Composer
- Cuando la serialización de DAG está activada, los archivos de
dags/
y las carpetasplugins/
no se sincronizan con el servidor web. - Cuando la serialización de DAG está desactivada, los archivos de
dags/
yplugins/
se sincronizan con el servidor web.