Amazon Managed Service for Apache Flink(Amazon MSF)之前称为 Amazon Kinesis Data Analytics for Apache Flink。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
回滚应用程序升级
如果您的应用程序出现问题,或者发现应用程序代码在 Flink 版本之间存在不一致之处,则可以使用、 AWS CLI AWS CloudFormation、 AWS SDK 或进行回滚。 AWS 管理控制台以下示例显示在不同的故障场景中进行的回滚。
运行时升级成功,应用程序处于 RUNNING 状态,但是作业失败并持续重新启动
假设您正在尝试在美国东部(弗吉尼亚州北部)将名为 TestApplication 的有状态应用程序从 Flink 1.15 升级到 Flink 1.18。但是,即使应用程序处于 RUNNING 状态,升级后的 Flink 1.18 应用程序仍无法启动或不断重新启动。这是一种常见的故障场景。为避免进一步的停机时间,我们建议您将应用程序立即回滚到之前运行的版本(Flink 1.15),然后再诊断问题。
要将应用程序回滚到之前运行的版本,请使用 rollback-app licat ion AWS CLI 命令或 RollbackApplicationAPI 操作。此 API 操作会回滚您执行的更改,这些更改生成最新版本。然后,它会使用最新的成功快照重新启动您的应用程序。
我们强烈建议您在尝试升级之前创建现有应用程序的快照。这将有助于避免数据丢失或不得不重新处理数据。
在这种失败场景中, CloudFormation 将不会为您回滚应用程序。必须更新 CloudFormation 模板以指向之前的运行时和之前的代码 CloudFormation 才能强制更新应用程序。否则, CloudFormation假设您的应用程序在过渡到RUNNING状态时已更新。
回滚卡在 UPDATING 状态的应用程序
如果您的应用程序在尝试升级后停留在UPDATING或AUTOSCALING状态,则适用于 Apache Flink 的亚马逊托管服务 Flink 会提供回滚应用程序 AWS CLI 命令或 RollbackApplicationsAPI 操作,该操作可以将应用程序回滚到卡住或状态之前的版本。UPDATING AUTOSCALING此 API 会回滚您执行以导致应用程序卡在 UPDATING 或 AUTOSCALING 传递状态的更改。