更改 Apache Airflow 版本
Amazon MWAA 支持次要版本升级和降级。这意味着您可以将环境从版本 x.4.z 更新到 x.5.z,或从 x.5.z 更新到 x.4.z。要执行主要版本升级(例如从版本 1.y.z 升级到 2.y.z),必须创建新环境并迁移资源。有关升级到 Apache Airflow 的新主要版本的更多信息,请参阅《Amazon MWAA 迁移指南》中的迁移到新的 Amazon MWAA 环境。
在升级或降级过程中,Amazon MWAA 会捕获环境的元数据快照,将工作线程、计划程序、Web 服务器升级或降级到新的 Apache Airflow 版本,最后使用快照恢复元数据数据库。
在升级或降级之前,请确保 DAG 和其他工作流程资源与您要升级到的新 Apache Airflow 版本兼容。如果您使用 requirements.txt 来管理依赖项,则还必须确保您在要求中指定的依赖项与新版本兼容。
升级或降级工作流程资源
每当您更改 Apache Airflow 版本时,请确保在 requirements.txt 中引用正确的 --constraint URL。
警告
在升级或降级期间指定与目标 Apache Airflow 版本不兼容的要求可能会导致回滚到具有先前要求版本的 Apache Airflow 先前版本的过程很长。
迁移工作流程资源
-
创建 aws-mwaa-docker-images
存储库的分支,然后克隆 Amazon MWAA 本地运行器的副本。 -
查看与您要升级或降级到的版本匹配的 aws-mwaa-docker-images 存储库的分支。
-
要更新
requirements.txt,请按照《Amazon MWAA 用户指南》中管理 Python 依赖项中推荐的最佳实践进行操作。 -
(可选)要加快升级或降级过程,请清理环境的元数据数据库。具有大量元数据的环境可能需要更长的时间才能升级。
-
成功测试工作流程资源后,将 DAG、
requirements.txt和插件复制到环境的 Amazon S3 存储桶。
现在,您可以编辑环境、指定新的 Apache Airflow 版本并开始更新过程了。
指定新版本
更新工作流程资源以确保与新 Apache Airflow 版本兼容后,请执行以下操作来编辑环境详细信息并指定要升级到的 Apache Airflow 版本。
注意
执行升级或降级时,当前在环境中运行的所有任务都将在这个过程中终止。更新过程最多可能需要两个小时,在此期间,环境将不可用。
使用控制台指定新版本
-
在 Amazon MWAA 控制台上打开环境页面
。 -
从环境列表中,选择要升级或降级的环境。
-
在环境页面上,选择编辑以编辑环境。
-
在环境详细信息部分中,对于 Airflow 版本,从下拉列表中选择要将环境升级或降级到的 Apache Airflow 版本号。
-
选择下一步,直到进入查看并保存页面。
-
在查看并保存页面上,查看更改,然后选择保存。
当您应用更改时,环境将开始升级或降级过程。在此期间,环境状态表明 Amazon MWAA 正在采取哪些操作以及该过程是否成功。
在成功升级或降级的情况下,状态将为 UPDATING,然后在 Amazon MWAA 捕获元数据备份时变为 CREATING_SNAPSHOT。最后,状态将首先返回到 UPDATING,然后过程完成时,返回到 AVAILABLE。
如果环境升级或降级失败,则环境状态是 ROLLING_BACK。如果回滚成功,则状态将首先显示 UPDATE_FAILED,表示更新失败但环境可用。如果回滚失败,则状态是 UNAVAILABLE,表示您无法访问环境。