MWAA依赖包安装超时问题求助:已尝试AWS最佳实践仍失败
AWS MWAA依赖包安装超时问题排查与解答
问题背景
维护刷新栈后,未修改原有requirements.txt(带具体版本号),但依赖包安装耗时超9分钟触发超时,所有包无法访问。参考官方最佳实践修改requirements.txt后,已将包含.whl包的zip文件上传至S3,CloudWatch日志显示操作看似有效,但安装重复执行2小时后仍触发超时。
原requirements.txt内容
algoliasearch==2.4.0 apache-airflow==2.4.3 apache-airflow-providers-sftp==4.3.0 apache-airflow-providers-google==6.5.0 apache-airflow-providers-amazon==8.1.0 apache-airflow-providers-postgres==5.5.0 apache-airflow-providers-mysql==5.1.0 delighted==4.0.0 github3.py==4.0.1 jellyfish==0.9.0 mailjet-rest==1.3.4 mysqlclient==2.0.1 oauth2client==4.1.3 paramiko==2.8.1 PyYAML==5.3.1 pygsheets==2.0.3.1 pymongo==3.10.1 rtbhouse-sdk==8.0.0 searchads-api>=1.5.2 simple_salesforce==1.10.1 sshtunnel==0.4.0 stripe==2.55.1 xmltodict==0.12.0
修改后的requirements.txt内容
--find-links /usr/local/airflow/plugins --no-index algoliasearch apache-airflow apache-airflow-providers-sftp apache-airflow-providers-google apache-airflow-providers-amazon apache-airflow-providers-postgres apache-airflow-providers-mysql delighted github3.py jellyfish mailjet-rest mysqlclient oauth2client paramiko PyYAML pygsheets pymongo rtbhouse-sdk searchads-api simple_salesforce sshtunnel stripe xmltodict
问题原因分析
- whl包匹配或路径错误:
--find-links指定的/usr/local/airflow/plugins目录下,缺少对应依赖的whl文件,或包的版本、名称与requirements.txt中的条目不匹配。由于启用了--no-index,pip无法从外部源拉取包,会反复尝试查找本地包,最终导致长时间执行后超时。 - zip包结构不符合要求:上传至S3的zip文件解压后,whl文件未直接放置在
plugins根目录下,而是嵌套在子文件夹中,导致pip无法识别到有效包文件。 - 依赖解析死循环:移除版本号后,pip尝试自动解析兼容版本,但本地whl包没有对应兼容版本,引发依赖冲突或缺失,导致安装流程陷入循环无法完成。
- 环境权限问题:
plugins目录下的whl包没有足够的读取权限,pip无法正常访问文件,反复尝试读取操作最终触发超时。
关于超时时间的说明
AWS MWAA的依赖安装超时时间为固定值,用户无法自行延长。该阈值是官方针对标准依赖安装场景设定的,超过时间后系统会自动终止安装流程。
内容的提问来源于stack exchange,提问作者Sébastien
相关产品推荐
相关产品推荐

