【问题标题】:Airflow “This DAG isnt available in the webserver DagBag object ”气流“此 DAG 在网络服务器 DagBag 对象中不可用”
【发布时间】:2018-11-12 06:55:30
【问题描述】:

我目前在 Linux 服务器 A 中设置气流调度程序,在 Linux 服务器 B 中设置气流网络服务器。两台服务器都无法访问 Internet。我已经在服务器 A 中启动了 initDB,并将所有 dag 保存在服务器 A 中。

但是,当我刷新网络服务器 UI 时,它一直有错误消息:-

This DAG isn't available in the webserver DagBag object

如何配置 Web 服务器(服务器 B)的 dag 文件夹以从调度程序(服务器 A)读取 dag?

我正在使用 bashoperator。那个Celery Operator是必须的吗?

提前致谢

【问题讨论】:

  • 我的设置略有不同。调度器和网络服务器都在不同的服务器上。
  • 这究竟是如何使产品行为不同的?
  • 产品行为应该和我想的一样。但是网络服务器需要读取存储在代理(不同的服务器)中的 dag,我在这方面遇到了问题。如何在不复制的情况下共享 dag?
  • 有趣的是,我在虚拟环境中工作时遇到了这个问题,当我认为我让它们都在虚拟环境中工作时,并没有全局安装所有包 - 这表明存在设置问题

标签: airflow


【解决方案1】:

调度程序已找到您的 dags_folder 及其进程,并正在相应地调度它们。然而,网络服务器可以仅通过它们在数据库中的存在来“看到”这些进程,但无法在 its dags_folder 路径中找到它们。

您需要确保两台服务器的dags_folder 包含相同的文件,并且两者保持同步。这超出了 Airflow 的范围,它不会代表您处理。

【讨论】:

  • 您的意思是我需要将 dag 从 Linux A(调度程序)复制到 Linux B(Web 服务器)吗?有什么简单的方法吗?喜欢地图驱动等?
  • 基本上,是的。如何做到这一点取决于您。
  • 谢谢。我仍然想出如何映射驱动器
猜你喜欢
  • 2021-03-06
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 2016-12-28
相关资源
最近更新 更多