创建适用于 Java 的 Kinesis Data Analytics 应用程序 - Amazon Kinesis Data Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建适用于 Java 的 Kinesis Data Analytics 应用程序

本主题包含有关创建适用于 Java 的 Amazon Kinesis Data Analytics 应用程序的信息。

构建 Kinesis Data Analytics 应用程序代码

本节介绍了用于为适用于 Java 的 Kinesis Data Analytics 应用程序构建应用程序代码的组件。

我们建议您将支持的最新 Apache Flink 版本用于应用程序代码。Kinesis Data Analytics 支持的最新 Apache Flink 版本是 1.8.2。有关升级 Kinesis Data Analytics 应用程序的信息,请参阅升级应用程序

您可以使用 Apache Maven 构建应用程序代码。Apache Maven 项目使用 pom.xml 文件以指定它使用的组件的版本。

注意

Kinesis Data Analytics 最多支持 512 MB 大小的 JAR 文件。如果使用的 JAR 文件超过该大小,应用程序将无法启动。

可以在 Kinesis Data Analytics 应用程序中使用以下组件版本:

组件 版本
Java 1.8(建议)
AWS Java 软件开发工具包 1.11.379
适用于 Flink 的 Kinesis Data Analytics 运行时 (aws-kinesisanalytics-runtime) 1.1.0
Kinesis Data Analytics Flink 连接器 (aws-kinesisanalytics-flink) 1.1.0
Apache Maven 3.1

有关使用 Apache Flink 版本 1.8.2 的 Kinesis Data Analytics 应用程序的 pom.xml 文件的示例,请参阅 Kinesis Data Analytics 入门应用程序

在使用适用于 Flink 的 Kinesis Data Analytics 运行时版本 1.1.0 时,您可以在编译应用程序时指定应用程序使用的 Apache Flink 版本。您可以使用 -Dflink.version 参数提供 Apache Flink 版本,如下所示:

mvn package -Dflink.version=1.8.2

有关使用旧版本的 Apache Flink 构建应用程序的信息,请参阅早期版本

使用 Apache Flink Kinesis Streams 连接器

要使应用程序使用 Apache Flink Kinesis 连接器,您必须下载、编译并安装 Apache Flink。该连接器用于使用来自作为应用程序源的 Kinesis 流的数据,或者将数据写入到用于应用程序输出的 Kinesis 流中。

要下载并安装 Apache Flink 源代码,请执行以下操作:

  1. 确保已安装 Apache Maven,并且 JAVA_HOME 环境变量指向 JDK 而不是 JRE。您可以使用以下命令测试 Apache Maven 安装:

    mvn -version
  2. 下载 Apache Flink 版本 1.8.2 源代码:

    wget https://archive.apache.org/dist/flink/flink-1.8.2/flink-1.8.2-src.tgz
  3. 解压缩 Apache Flink 源代码:

    tar -xvf flink-1.8.2-src.tgz
  4. 转到 Apache Flink 源代码目录:

    cd flink-1.8.2
  5. 编译并安装 Apache Flink:

    mvn clean install -Pinclude-kinesis -DskipTests

创建 Kinesis Data Analytics 应用程序

在构建应用程序代码后,您可以执行以下操作以创建 Kinesis Data Analytics 应用程序:

  • 上传应用程序代码:将应用程序代码上传到 Amazon S3 存储桶。在创建应用程序时,您可以指定应用程序代码的 S3 存储桶名称和对象名称。有关说明如何上传应用程序代码的教程,请参阅入门教程中的上传 Apache Flink 流式处理 Java 代码

  • 创建 Kinesis Data Analytics 应用程序:使用以下方法之一以创建 Kinesis Data Analytics 应用程序:

    • 使用 AWS 控制台创建 Kinesis Data Analytics 应用程序:您可以使用 AWS 控制台创建和配置应用程序。

      在使用控制台创建应用程序时,将为您创建应用程序的相关资源(例如 CloudWatch Logs 流、IAM 角色和 IAM 策略)。

      在使用控制台创建应用程序时,您可以从 Kinesis Analytics - Create application (Kinesis Analytics - 创建应用程序) 页面上的下拉列表中进行选择,以指定应用程序使用的 Apache Flink 版本。

      有关如何使用控制台创建应用程序的教程,请参阅入门教程中的创建并运行应用程序(控制台)

    • 使用 AWS CLI 创建 Kinesis Data Analytics 应用程序:您可以使用 AWS CLI 创建和配置应用程序。

      在使用 CLI 创建应用程序时,您还必须手动创建应用程序的相关资源(例如 CloudWatch Logs 流、IAM 角色和 IAM 策略)。

      在使用 CLI 创建应用程序时,您可以使用 CreateApplication 操作的 RuntimeEnvironment 参数指定应用程序使用的 Apache Flink 版本。

      有关如何使用 CLI 创建应用程序的教程,请参阅入门教程中的创建并运行应用程序 (AWS CLI)

    注意

    您无法更改现有应用程序的 RuntimeEnvironment。如果您需要更改现有应用程序的 RuntimeEnvironment,则必须删除该应用程序并重新创建。

启动 Kinesis Data Analytics 应用程序

在构建应用程序代码、将其上传到 S3 并创建 Kinesis Data Analytics 应用程序后,您可以启动应用程序。启动 Kinesis Data Analytics 应用程序通常需要几分钟的时间。

可以使用以下方法之一以启动应用程序:

  • 使用 AWS 控制台启动 Kinesis Data Analytics 应用程序:您可以在 AWS 控制台的应用程序页面上选择 Run (运行) 以运行应用程序。

  • 使用 AWS API 启动 Kinesis Data Analytics 应用程序:您可以使用 StartApplication 操作运行应用程序。

验证 Kinesis Data Analytics 应用程序

您可以通过以下方式验证应用程序是否正常工作:

  • 使用 CloudWatch Logs:您可以使用 CloudWatch Logs 和 CloudWatch Logs Insights 以验证应用程序是否正常工作。有关将 CloudWatch Logs 与 Kinesis Data Analytics 应用程序一起使用的信息,请参阅日志记录和监控

  • 使用 CloudWatch 指标:您可以使用 CloudWatch 指标监控应用程序的活动,或监控应用程序用于输入或输出的资源(例如 Kinesis 流、Kinesis Data Firehose 传输流或 Amazon S3 存储桶)中的活动。 有关 CloudWatch 指标的更多信息,请参阅Amazon CloudWatch 用户指南中的使用指标

  • 监控输出位置:如果应用程序将输出写入到某个位置(例如 Amazon S3 存储桶或数据库),您可以在该位置中监控写入的数据。