Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将您的应用程序升级到新的 Apache Flink 版本
您可以使用UpdateApplication操作升级 Flink 应用程序。
您可以通过多种UpdateApplication
API方式调用:
-
使用上的现有配置工作流程 AWS Management Console。
-
转到您的应用程序页面,网址为 AWS Management Console.
-
选择 配置。
-
选择新的运行时和要从中启动的快照,也称为还原配置。使用最新设置作为还原配置,从最新的快照启动应用程序。指向 Amazon S3 上新升级的应用程序 JAR /zip。
-
-
使用 AWS CLI 更新应用程序操作。
-
使用 AWS CloudFormation (CFN)。
-
更新字RuntimeEnvironment段。以前, AWS CloudFormation 删除了该应用程序并创建了一个新应用程序,这会导致您的快照和其他应用程序历史记录丢失。现在就 RuntimeEnvironment 地 AWS CloudFormation 更新您的应用程序,并且不会删除您的应用程序。
-
-
使用 AWS SDK.
-
请查阅您选择的编程语言的SDK文档。见UpdateApplication。
-
您可以在应用程序RUNNING
处于状态或应用程序处于READY
停止状态时执行升级。适用于 Apache Flink 的亚马逊托管服务会进行验证,以验证原始运行时版本和目标运行时版本之间的兼容性。此兼容性检查在您处于状态UpdateApplication时执行,或者StartApplication如果您在RUNNING
状态下升级,则在下次执行兼容性检查时运行。READY
以下示例显示了使用升级美国东部(弗吉尼亚北部)名为 UpgradeTest
Flink 1.18 的RUNNING
州的应用程序, AWS CLI 以及使用最新快照启动升级后的应用程序。
aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --run-configuration-update '{"ApplicationRestoreConfiguration": '\ '{"ApplicationRestoreType": "RESTORE_FROM_LATEST_SNAPSHOT"}}' \ --current-application-version-id ${current_application_version}
-
如果您启用了服务快照并希望从最新快照继续应用程序,则适用于 Apache Flink 的亚马逊托管服务会验证当前
RUNNING
应用程序的运行时是否与选定的目标运行时兼容。 -
如果您指定了用于继续目标运行时间的快照,则 Amazon Apache Flink 托管服务会验证目标运行时是否与指定的快照兼容。如果兼容性检查失败,则您的更新请求将被拒绝,并且您的应用程序将
RUNNING
保持不变。 -
如果您选择在没有快照的情况下启动应用程序,则适用于 Apache Flink 的亚马逊托管服务不会运行任何兼容性检查。
-
如果升级后的应用程序失败或停留在传递
UPDATING
状态,请按照回滚应用程序升级本节中的说明恢复正常状态。
运行状态应用程序的流程流
以下示例显示了使用升级位于美国东部(弗吉尼亚北部)名为 UpgradeTest
Flink 1.18 的READY
州的应用程序。 AWS CLI由于应用程序未运行,因此没有用于启动应用程序的指定快照。您可以在发出启动应用程序请求时指定快照。
aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --current-application-version-id ${current_application_version}
-
您可以将
READY
处于状态的应用程序的运行时更新为任何 Flink 版本。Apache Flink 版的亚马逊托管服务在您启动应用程序之前不会运行任何检查。 -
适用于 Apache Flink 的亚马逊托管服务仅对您为启动应用程序而选择的快照运行兼容性检查。这些是 Flink 兼容性表之后的基本兼容性
检查。他们只会检查拍摄快照时使用的 Flink 版本和你瞄准的 Flink 版本。如果所选快照的 Flink 运行时与应用程序的新运行时不兼容,则启动请求可能会被拒绝。
就绪状态应用程序的处理流程