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