存储在 Cloud Storage 中的数据

本页面介绍 Cloud Composer 会在 Cloud Storage 中为您的环境存储哪些数据。

当您创建环境时,Cloud Composer 会创建一个 Cloud Storage 存储分区,并将该存储分区关联至您的环境。存储分区的名称取决于环境所在的区域、环境名称和一个随机 ID,例如 us-central1-b1-6efannnn-bucket

Cloud Composer 会将工作流 (DAG) 及其依赖项的源代码存储在 Cloud Storage 的特定文件夹中,并使用 Cloud Storage FUSE 将这些文件夹映射到 Cloud Composer 环境中的 Airflow 实例。

Cloud Storage 存储分区中的文件夹

文件夹说明存储路径映射目录
DAG 存储您的环境的 DAG。只有此文件夹中的 DAG 才会被调度用于您的环境。 gs://bucket-name/dags /home/airflow/gcs/dags
插件 存储您的自定义插件,例如自定义内部 Airflow 操作器、钩子、传感器或接口。 gs://bucket-name/plugins /home/airflow/gcs/plugins
数据 存储任务生成和使用的数据。此文件夹会装载在所有工作器节点上。 gs://bucket-name/data /home/airflow/gcs/data
日志 存储任务的 Airflow 日志。Airflow 网页界面也可提供日志。 gs://bucket-name/logs /home/airflow/gcs/logs

容量注意事项

DAG 和插件:默认情况下,Cloud Composer 会为您的环境、dags/ 文件夹和 plugins/ 文件夹预配 100 GB 容量。

为避免发生工作流故障,请将您的 DAG,插件和 Python 模块存储在 dags/plugins/ 文件夹中,即使您的 Python 模块不包含 DAG 或插件也是如此。例如,您应该将 DataFlowPythonOperator 引用的 py_file 存储在 dags/plugins/ 中。

数据和日志data/ 文件夹和 logs/ 文件夹没有容量限制。

为避免发生 Web 服务器错误,请确保 dags/ 文件夹中包含 Web 服务器解析(但不运行)DAG 所需的数据。否则,Web 服务器无法访问该数据或加载 Airflow 网页界面。

数据同步

如果您修改了 Cloud Storage 存储分区中的 DAG 或插件,Cloud Composer 会同步集群中所有节点上的数据。

对于 dags/plugins/ 文件夹,Cloud Composer 采用本地复制的方式进行单向同步。单向同步意味着这些文件夹中的本地更改将被覆盖。

对于 data/logs/ 文件夹,Cloud Composer 使用 Cloud Storage FUSE 进行双向同步。

由于容量有限,再加上 Web 服务器只会解析而不运行 Cloud Composer 环境中的 DAG,因此数据不会同步到 Web 服务器。 工作器负责运行 DAG。

后续步骤