Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página describe qué datos almacena Cloud Composer para su entorno en Cloud Storage.
Al crear un entorno, Cloud Composer crea un bucket de Cloud Storage y lo asocia a su entorno. El nombre del bucket se basa en la región, el nombre y un ID aleatorio del entorno, como us-central1-b1-6efabcde-bucket
.
Cloud Composer sincroniza carpetas específicas del bucket de su entorno con los componentes de Airflow que se ejecutan en él. Por ejemplo, al actualizar un archivo con el código de su DAG de Airflow en el bucket del entorno, los componentes de Airflow también reciben la versión actualizada. Cloud Composer utiliza Cloud Storage FUSE para la sincronización.
Carpetas en el depósito de almacenamiento en la nube
Carpeta | Ruta de almacenamiento | Directorio mapeado | Descripción |
---|---|---|---|
TROZO DE CUERO | gs://bucket-name/dags | /home/airflow/gcs/dags | Almacena los DAG para su entorno. |
Complementos | gs://bucket-name/plugins | /home/airflow/gcs/plugins | Almacena sus complementos personalizados, como operadores de flujo de aire internos personalizados, ganchos, sensores o interfaces. |
Datos | gs://bucket-name/data | /home/airflow/gcs/data | Almacena los datos que las tareas producen y utilizan. |
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 . Google Cloud consola. |
Cloud Composer sincroniza las carpetas dags/
y plugins/
unidireccionalmente. La sincronización unidireccional significa que los cambios locales en estas carpetas de un componente de Airflow se sobrescriben. Las carpetas data/
y logs/
se sincronizan bidireccionalmente.
La sincronización de datos es consistente. Para enviar mensajes de un operador a otro, utilice XComs .
Consideraciones de capacidad
Los datos de las carpetas dags/
, plugins/
y data/
se sincronizan con los programadores y trabajadores de Airflow.
El contenido de la carpeta plugins/
se sincroniza con el servidor web Airflow.
Cuantos más datos se guarden en estas carpetas, más espacio se ocupará en el almacenamiento local de los componentes de Airflow. Guardar demasiados datos en dags/
y plugins/
puede interrumpir sus operaciones y causar problemas como:
Un trabajador o programador se queda sin almacenamiento local y es expulsado debido a espacio insuficiente en el disco local del componente.
La sincronización de archivos desde las carpetas
dags/
yplugins/
a los trabajadores y programadores lleva mucho tiempo.Sincronizar archivos de las carpetas
dags/
yplugins/
con los trabajadores y programadores se vuelve imposible. Por ejemplo, si almacena un archivo de 2 GB en la carpetadags/
, el disco local de un trabajador de Airflow solo admite 1 GB. Durante la sincronización, el trabajador agota el almacenamiento local y no puede completarse.
Carpetas de DAG y complementos
Para evitar fallas en la ejecución de DAG, almacene sus DAG, complementos y módulos de Python en las carpetas dags/
o plugins/
, incluso si sus módulos de Python no contienen DAG o complementos.
Por ejemplo, si usas un DataFlowPythonOperator
que hace referencia a una canalización de flujo de datos py_file
, este py_file
no contiene DAG ni plugins, pero debes almacenarlo en la carpeta dags/
o plugins/
.
Carpeta de datos
Hay casos en los que ciertos archivos de la carpeta data/
se sincronizan con un componente específico de Airflow. Por ejemplo, cuando Cloud Composer intenta leer un archivo determinado por primera vez durante:
Análisis de DAG: cuando se lee un archivo por primera vez durante el análisis de DAG, Cloud Composer lo sincroniza con el programador que analiza el DAG.
Ejecución de DAG: cuando se lee un archivo por primera vez durante la ejecución de DAG, Cloud Composer lo sincroniza con el trabajador que ejecuta la ejecución.
Los componentes de Airflow tienen un almacenamiento local limitado, así que considere eliminar los archivos descargados para liberar espacio en disco. Tenga en cuenta que el uso del almacenamiento local también puede aumentar temporalmente si tiene tareas simultáneas que descargan el mismo archivo a un solo trabajador de Airflow.
Carpeta de registros
La carpeta logs/
se sincroniza desde los trabajadores de Airflow al bucket del entorno mediante la API de Cloud Storage.
La cuota de la API de Cloud Storage se calcula según la cantidad de datos transferidos, por lo que la cantidad de tareas de Airflow que ejecuta su sistema puede aumentar el uso de la API de Cloud Storage: cuantas más tareas ejecute, más grandes serán sus archivos de registro.
Sincronización con el servidor web
La carpeta plugins/
se sincroniza automáticamente con el servidor web para que Airflow UI pueda cargar los complementos.