MWAA Airflow UI报Broken plugin[No module]错误如何解决
问题根因
MWAA的Webserver、Scheduler、Worker为相互隔离的独立运行容器:
- 你在
requirements.txt中声明的依赖默认仅安装至Scheduler、Worker节点,因此这两类节点日志会显示依赖安装成功,依赖对应模块的DAG可以正常调度运行 - Airflow UI运行在独立的Webserver容器中,默认不会加载
requirements.txt内的自定义依赖,扫描插件时找不到对应模块就会抛出Broken plugin: No module found报错
修复操作
- 确认当前MWAA运行版本:MWAA 2.2.2及以上版本才支持Webserver节点自定义依赖配置,若版本低于该阈值请先完成环境版本升级
- 进入MWAA环境配置页,找到Webserver配置分类下的
install_requires参数,将触发报错的插件所依赖的所有模块,按照requirements.txt中声明的相同版本规则填入该参数 - 若报错涉及自定义开发的Airflow插件,确认插件代码已上传至MWAA绑定S3桶的
plugins/路径下,文件权限配置正确,Webserver角色拥有对应路径的读权限 - 保存配置变更,等待MWAA环境完成重新部署,部署完成后刷新Airflow UI,报错即可消除
注意:低于2.2.2版本的MWAA无Webserver自定义依赖配置入口,无法通过配置调整消除该报错,必须升级环境版本。
内容的提问来源于stack exchange,提问作者Rjkant
相关产品推荐
相关产品推荐

