维护 Flink 应用程序 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

维护 Flink 应用程序

Flink 应用程序通常设计为长时间运行,例如运行数周、数月甚至数年。与所有长期运行的服务一样,Flink 流式处理应用程序需要维护。这包括错误修复、改进与迁移到更高版本的 Flink 集群。

FlinkDeploymentFlinkSessionJob 资源的规范发生变化时,您需要升级正在运行的应用程序。为此,操作员停止正在运行的作业(除非已暂停),并使用最新的规范重新部署该作业,而对于有状态的应用程序,使用上次运行的状态。

用户可以通过 JobSpecupgradeMode 设置来控制如何在有状态的应用程序停止和恢复时管理状态。

可选介绍

无状态

无状态应用程序将从空白状态升级。

上一状态

在任一应用程序状态(即使是失败的作业)下快速升级都不需要正常运行的作业,因为它总是使用最后一次成功的检查点。如果 HA 元数据丢失,可能需要进行手动恢复。要限制在选取最新检查点时作业可能回退的时间,您可以配置 kubernetes.operator.job.upgrade.last-state.max.allowed.checkpoint.age。如果检查点早于配置的值,则对于运行正常的作业,系统将获取其保存点。在会话模式下,不支持此功能。

保存点

使用保存点进行升级,以获得最大的安全性,并可用作备份/分叉点。升级过程中,系统将创建保存点。请注意,Flink 作业必须正在运行,才能创建保存点。如果作业处于不健康状态,则将使用最后一个检查点(除非 kubernetes.operator.job.upgrade)。 last-state-fallback.enabled 设置为 false)。如果最后一个检查点不可用,则作业升级将失败。