回滚应用程序升级 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

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

回滚应用程序升级

如果您的应用程序出现问题,或者发现应用程序代码在 Flink 版本之间存在不一致之处,则可以使用 AWS CLI、 AWS CloudFormation AWS SDK、或进行回滚。 AWS Management Console以下示例显示了在不同的故障场景中回滚的样子。

运行时升级成功,应用程序处于RUNNING状态,但作业失败并持续重启

假设您正在尝试在美国东部(弗吉尼亚北部)将名为 F TestApplication link 1.15 的有状态应用程序升级到 Flink 1.18。但是,即使应用程序处于状态,升级后的 Flink 1.18 应用程序仍无法启动或不断重启。RUNNING这是一种常见的故障场景。为避免进一步停机,我们建议您将应用程序立即回滚到之前运行的版本(Flink 1.15),然后再诊断问题。

要将应用程序还原到先前运行的版本,请使用 rollback-app licat ion AWS CLI 命令或操作。RollbackApplicationAPI此API操作会回滚您所做的更改,这些更改生成了最新版本。然后,它会使用最新的成功快照重新启动您的应用程序。

我们强烈建议您在尝试升级之前使用现有应用程序拍摄快照。这将有助于避免数据丢失或不得不重新处理数据。

在这种失败场景中, AWS CloudFormation 将不会为您回滚应用程序。必须更新 CloudFormation 模板以指向之前的运行时和之前的代码 CloudFormation 才能强制更新应用程序。否则, CloudFormation假设您的应用程序在过渡到RUNNING状态时已更新。

回滚陷入困境的应用程序 UPDATING

如果您的应用程序在尝试升级后停留在UPDATINGAUTOSCALING状态,则适用于 Apache Flink 的亚马逊托管服务 Flink 会提供回滚应用程序 AWS CLI 命令,或者可以将应用程序回滚到卡住或状态之前的版本的RollbackApplicationsAPI操作。UPDATING AUTOSCALING这会回API滚你所做的导致应用程序陷入卡住UPDATINGAUTOSCALING传递状态的更改。