使用 Apache Flink 的就地版本升级来升级应用程序 - Managed Service for Apache Flink

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

使用 Apache Flink 的就地版本升级来升级应用程序

在开始之前,我们建议您观看以下视频:就地版本升级

要执行 Apache Flink 的就地版本升级,你可以使用 AWS CLI、AWS CloudFormation、AWS SDK 或 AWS 管理控制台。您可以将此功能与在 Managed Service for Apache Flink 中使用的任何现有应用程序(处于 READYRUNNING 状态)结合使用。它使用 UpdateApplication API 来添加更改 Flink 运行时的功能。

升级之前:更新 Apache Flink 应用程序

在编写 Flink 应用程序时,您可以将它们与其依赖项捆绑到应用程序 JAR 中,然后将该 JAR 上传到您的 Amazon S3 存储桶。然后,Amazon Managed Service for Apache Flink 将在您选择的新 Flink 运行时中运行该作业。您可能需要更新应用程序,以实现与升级到的目标 Flink 运行时的兼容性。Flink 版本之间可能存在不一致性,从而导致版本升级失败。最常见的情况是,这将包括源(入口)或目的地(接收器、出口)的连接器以及 Scala 依赖项。Managed Service for Apache Flink 中的 Flink 1.15 及更高版本与 Scala 无关,并且您的 JAR 必须包含计划使用的 Scala 版本。

更新应用程序

  1. 阅读 Flink 社区关于升级有状态应用程序的建议。请参阅升级应用程序和 Flink 版本

  2. 阅读已知问题和限制列表。请参阅 应用程序升级的注意事项和已知问题

  3. 更新您的依赖项并在本地测试您的应用程序。这些依赖项通常是:

    1. Flink 运行时和 API。

    2. 建议用于 Flink 运行时的连接器。您可以在要更新至的特定运行时的发布版本中找到这些内容。

    3. Scala – Apache Flink 从 Flink 1.15 开始(包括 Flink 1.15)就与 Scala 无关。必须在应用程序 JAR 中包含要使用的 Scala 依赖项。

  4. 在 zipfile 上构建新的应用程序 JAR,并将其上传至 Amazon S3。我们建议您使用与先前 JAR/zipfile 不同的名称。如果您需要回滚,则将使用此信息。

  5. 如果您正在运行有状态应用程序,我们强烈建议您创建当前应用程序的快照。如果在升级期间或升级之后遇到问题,快照可让您有状态地回滚。