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-application AWS CLI 命令或 RollbackApplication API 操作。此 API 操作会回滚您执行的更改,这些更改生成最新版本。然后,它会使用最新的成功快照重新启动您的应用程序。
我们强烈建议您在尝试升级之前创建现有应用程序的快照。这将有助于避免数据丢失或不得不重新处理数据。
在此故障场景中,CloudFormation 将不会为您回滚应用程序。您必须更新 CloudFormation 模板以指向之前的运行时和之前的代码,从而强制 CloudFormation 更新应用程序。否则,CloudFormation 会假设您的应用程序在过渡到 RUNNING 状态时已经更新。
回滚卡在 UPDATING 状态的应用程序
如果您的应用程序在尝试升级后卡在 UPDATING 或 AUTOSCALING 状态,则 Amazon Managed Service for Apache Flink 提供 rollback-applications AWS CLI 命令或 RollbackApplications API 操作,可以将应用程序回滚到卡在 UPDATING 或 AUTOSCALING 状态之前的版本。此 API 会回滚您执行以导致应用程序卡在 UPDATING 或 AUTOSCALING 传递状态的更改。