Apache Flink 设置 - Amazon Kinesis Data Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Apache Flink 设置

Kinesis Data Analytics for Java Applications 是 Apache Flink 框架的实施形式。Kinesis Data Analytics 使用本节中所述的默认值。Kinesis Data Analytics 应用程序可以在 Java 代码中设置其中的一些值,但无法更改其他值。

本主题包含下列部分:

状态后端

Kinesis Data Analytics 将临时数据存储在状态后端中。Kinesis Data Analytics 使用 RocksDBStateBackend。调用 setStateBackend 以设置不同的后端无效。

我们在状态后端上启用以下功能:

  • 增量状态后端快照

  • 异步状态后端快照

  • 本地检查点恢复

在 Kinesis Data Analytics 中,将默认启用 state.backend.rocksdb.ttl.compaction.filter.enabled 配置。通过使用该筛选条件,您可以更新应用程序代码以启用压缩清理策略。有关更多信息,请参阅 Apache Flink 文档中的 Flink 1.8.0 中的状态 TTL

有关状态后端的更多信息,请参阅 Apache Flink 文档中的状态后端

检查点

Kinesis Data Analytics for Java Applications 使用具有以下值的默认检查点配置。可以更改其中的一些值。您必须将 CheckpointConfiguration.ConfigurationType 设置为 CUSTOM,Kinesis Data Analytics 才能使用修改的检查点值。

设置 是否可以修改? 默认值
CheckpointingEnabled 可以修改 True
CheckpointInterval 可以修改 60000
MinPauseBetweenCheckpoints 可以修改 5000
并发检查点数 不能修改 1
检查点模式 不能修改 恰好一次
检查点保留策略 不能修改 失败时
检查点超时 不能修改 60 分钟
保留的最大检查点数 不能修改 1
重新启动策略 不能修改 固定延迟,每 10 秒无限次重试。
检查点和保存点位置 不能修改 我们将持久的检查点和保存点数据存储到服务拥有的 S3 存储桶中。
状态后端内存阈值 不能修改 1048576

保存点

默认情况下,从保存点中还原时,恢复操作尝试将保存点的所有状态映回到用于还原的程序。如果删除了一个操作符,默认情况下,从包含与缺少的操作符对应的数据的保存点中还原将失败。您可以将应用程序的 FlinkRunConfigurationAllowNonRestoredState 参数设置为 true,以成功完成该操作。这样,恢复操作就可以跳过无法映射到新程序的状态。

有关更多信息,请参阅 Apache Flink 文档中的允许非还原状态

堆大小

Kinesis Data Analytics for Java Applications 为每个 KPU 分配 3 GiB JVM 堆,并为本机代码分配保留 1 GiB。有关增加应用程序容量的信息,请参阅Kinesis Data Analytics for Java Applications 中的应用程序扩展

有关 JVM 堆大小的更多信息,请参阅 Apache Flink 文档中的配置