启用和停用 DAG 序列化

Cloud Composer 1 | Cloud Composer 2

按照此页面上的说明操作可以启用或停用 DAG 序列化。

在 Cloud Composer 环境中,Airflow 调度器和 Airflow 网络服务器会持续处理 DAG。您可以通过启用 DAG 序列化来提高 Airflow 网络服务器的可靠性和性能。

启用 DAG 序列化会强制调度器在 DAG 文件发送到网络服务器之前处理它们。网络服务器不处理 DAG。而是从 Airflow 数据库中读取序列化 DAG。以这种方式序列化 DAG 可以减少网络服务器的 CPU 和内存用量,尤其是在处理大量 DAG 时。

准备工作

DAG 序列化会影响以下 Cloud Composer 特性:

  • 无法在异步加载 DAG 的同时启用 DAG 序列化。
  • 启用 DAG 序列化会停用 Cloud Composer 的所有 Airflow 网络服务器插件。这不会影响调度器或工作器插件,包括 Airflow 运算符和传感器等。

启用 DAG 序列化

您可以为现有环境或在创建新环境时启用 DAG 序列化。

如需启用 DAG 序列化,请替换以下 Airflow 配置选项:

部分
core store_serialized_dags True
core store_dag_code True
core min_serialized_dag_update_interval 30
scheduler dag_dir_list_interval 30

min_serialized_dag_update_interval Airflow 配置选项用于控制序列化 DAG 在数据库中的更新频率。 dag_dir_list_interval 选项控制从 Airflow 数据库中删除已移除的 DAG 的频率。较高的更新频率可能会对性能产生负面影响。我们建议将 min_serialized_dag_update_intervaldag_dir_list_interval 设置为 30 秒。

停用 DAG 序列化

您可以为现有环境或在创建新环境时启用 DAG 序列化。

如需停用 DAG 序列化,请替换以下 Airflow 配置选项:

部分
core store_serialized_dags False
core store_dag_code False