如何避免Apache Airflow中工作节点依赖项的DAG导入错误?

2024-10-01 07:48:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个基于容器的Apache应用程序。 我的环境由以下组件组成:

  • 气流调度器容器
  • 网络服务器容器
  • 气流芹菜花盆
  • 气流工作容器(1)
  • 等等

我对这种模式的理解是,我可以有一个调度器和一个Web服务器容器,其中只包含气流所需的依赖项,然后我可以有一个(或多个)工作节点,其中包含运行DAG所需的所有内容

当我尝试以这种方式使用它时(例如,在worker节点中添加并使用一个模块,假设它是crypto模块),我会在前端得到一个DAG Import Error异常,即: ModuleNotFoundError: No module named 'crypto'

这对我来说很有意义,因为调度器知道我需要该模块来执行,并抛出一个错误,尽管如此,DAG仍能正常工作,因为当它在工作节点中运行时,它具有所有必需的依赖项

我怎样才能解决这个问题

谢谢


Tags: 模块网络服务器应用程序节点环境apache组件
1条回答
网友
1楼 · 发布于 2024-10-01 07:48:28

目前,您需要同步计划程序和工作程序上的依赖项

调度程序在一个单独的进程中解析DAG文件(每个DAG文件一个),因此,如果您在DAG文件中使用的依赖项未安装在调度程序中,它将在DB中添加一个ImportError,然后在Web服务器中显示

enter image description here

相关问题 更多 >