You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Airflow连接缺失MongoDB,Docker部署下模块找不到

Docker环境下Airflow无法识别MongoDB及DAG模块找不到的解决方案

截图显示:Apache Airflow的连接配置界面中,无法找到MongoDB的连接类型选项

针对你遇到的两个问题,直接给出可行解决步骤:

1. 确保Airflow容器内安装Mongo提供者包

Airflow的Mongo连接依赖apache-airflow-providers-mongo包,宿主机安装不代表Docker容器内已安装:

  • 进入Airflow webserver容器:docker exec -it <你的airflow-webserver容器ID/名称> bash
  • 检查包是否存在:pip list | grep apache-airflow-providers-mongo
  • 若未安装,两种方式解决:
    • 临时安装(容器重启后失效):pip install apache-airflow-providers-mongo
    • 永久生效:在Airflow项目的requirements.txt中添加apache-airflow-providers-mongo==<与你的Airflow版本兼容的版本号>,然后重新构建镜像并重启服务:
      docker-compose build
      docker-compose up -d
      

2. 验证Airflow连接配置

当提供者包安装完成后,回到Airflow UI的连接界面即可看到MongoDB选项。配置时注意:

  • 若MongoDB也运行在Docker中,主机地址填MongoDB容器的名称(而非localhost),比如你的Mongo容器叫mongodb,就填mongodb
  • 端口、数据库名、用户名密码等参数要和MongoDB的配置一致

3. 解决DAG模块找不到的问题

  • 进入Airflow容器,用pip list确认你导入的模块确实已安装
  • 若是自定义模块,要把模块所在目录加入Airflow的PYTHONPATH:
    修改docker-compose.yml中webserver和scheduler服务的环境变量:
    environment:
      - PYTHONPATH=/opt/airflow/custom_modules:$PYTHONPATH
    
    把自定义模块放在宿主机对应挂载的custom_modules目录下,确保容器能访问到
  • 检查DAG文件是否放在Airflow配置的dags_folder目录中,确保Airflow能扫描到该文件

4. 重启Airflow服务

完成上述操作后,重启Airflow核心服务:

docker-compose restart airflow-webserver airflow-scheduler

内容的提问来源于stack exchange,提问作者Shaheryar Ashfaq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:40:02