更改 Apache Airflow 版本 - Amazon Managed Workflows for Apache Airflow
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更改 Apache Airflow 版本

Amazon MWAA 支持次要版本升级和降级。这意味着您可以将环境从版本更新x.4.z到版本x.5.z或从版本更新x.5.zx.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 和先前要求版本的过程很长。

迁移您的工作流程资源
  1. 创建aws-mwaa-local-runner存储库的分支,然后克隆 Amazon MWAA 本地运行器的副本。

  2. 签出到与您要升级或降级到的版本相匹配的 aws-mwaa-local-runner存储库分支。

  3. 使用 Amazon MWAA 本地运行器 CLI 工具来构建 Docker 映像并在本地运行 Apache Airflow。有关更多信息,请参阅 GitHub 存储库中的本地运行器 README

  4. 要更新 requirements.txt,请按照《Amazon MWAA 用户指南》管理 Python 依赖项中推荐的最佳实践进行操作。

  5. (可选)要加快升级或降级过程,请清理环境的元数据数据库。具有大量元数据的环境可能需要更长的时间才能升级。

  6. 成功测试工作流程资源后,将 DAGsrequirements.txt、和插件复制到环境的 Amazon S3 存储桶中。

现在,您可以编辑环境、指定新的 Apache Airflow 版本并开始更新过程了。

指定新版本

更新工作流程资源以确保与新 Apache Airflow 版本兼容后,请执行以下操作来编辑环境详细信息并指定要升级到的 Apache Airflow 版本。

注意

执行升级或降级时,当前在环境中运行的所有任务都将在此过程中终止。更新过程最多可能需要两个小时,在此期间,环境将不可用。

使用控制台指定新版本
  1. 在 Amazon MWAA 控制台上打开环境页面

  2. 从 “环境” 列表中,选择要升级或降级的环境。

  3. 在环境页面上,选择编辑以编辑环境。

  4. 环境详细信息部分,对于 Airflow 版本,从下拉列表中选择要将环境升级或降级到的 Apache Airflow 版本号。

  5. 选择下一步,直到进入查看并保存页面。

  6. 查看并保存页面上,查看更改,然后选择保存

当您应用更改时,您的环境将开始升级或降级过程。在此期间,环境状态表明 Amazon MWAA 正在采取哪些操作以及该过程是否成功。

在成功升级或降级的情况下,状态将显示UPDATING,然后 Amazon MW CREATING_SNAPSHOT AA 会捕获您的元数据备份。最后,状态将首先返回到 UPDATING,然后过程完成时,返回到 AVAILABLE

如果环境升级或降级失败,则会显示您的环境状态。ROLLING_BACK如果回滚成功,则状态将首先显示 UPDATE_FAILED,表示更新失败但环境可用。如果回滚失败,则状态会显示 UNAVAILABLE,表示您无法访问环境。