

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

# Apache Flink 设置
<a name="reference-flink-settings.title"></a>

Managed Service for Apache Flink 是 Apache Flink 框架的实现。Managed Service for Apache Flink 使用本节中描述的默认值。其中一些值可以由 Managed Service for Apache Flink 应用程序在代码中设置，而其他值则无法更改。

使用本节中的链接详细了解 Apache Flink 设置以及哪些设置是可以修改的。

**Topics**
+ [Apache Flink 配置](#apache-flink-configuration)
+ [状态后端](#reference-defaults-state-backend)
+ [检查点](#reference-defaults-checkpoint)
+ [保存点](#reference-defaults-savepoint)
+ [堆大小](#reference-defaults-heap)
+ [缓冲区消胀](#reference-defaults-buffer-debloating)
+ [可修改的 Flink 配置属性](reference-modifiable-settings.md)
+ [编程 Flink 配置属性](programmatic-configuration.md)
+ [查看已配置的 Flink 属性](viewing-modifiable-settings.md)

## Apache Flink 配置
<a name="apache-flink-configuration"></a>

适用于 Apache 的托管服务 Flink 提供了默认的 Flink 配置，包括大多数属性的 Apache Flink-recommended 值和一些基于常见应用程序配置文件的 Apache 值。有关 Flink 配置的更多信息，请参阅[配置](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/config/)。 Service-provided 默认配置适用于大多数应用程序。但是，为调整 Flink 配置属性以提高某些具有高并行度、高内存和状态使用率的应用程序的性能，或者在 Apache Flink 中启用新的调试功能，则可以通过请求支持案例来更改某些属性。有关更多信息，请参阅 [AWS 支持中心](https://console.aws.amazon.com/support/home#/)。您可以使用 [Apache Flink 控制面板检查应用程序](https://docs.aws.amazon.com/managed-flink/latest/java/how-dashboard.html)的当前配置。

## 状态后端
<a name="reference-defaults-state-backend"></a>

Managed Service for Apache Flink 将瞬态数据存储在状态后端。适用于 Apache 的托管服务 Flink 使用。**RocksDBStateBackend**调用 `setStateBackend` 以设置不同的后端无效。

我们在状态后端上启用以下功能：
+ 增量状态后端快照
+ 异步状态后端快照
+ 本地检查点恢复

有关状态后端的更多信息，请参阅 Apache Flink 文档中的[状态后端](https://nightlies.apache.org/flink/flink-docs-release-1.19/ops/state/state_backends.html)。

## 检查点
<a name="reference-defaults-checkpoint"></a>

Managed Service for Apache Flink使用具有以下值的默认检查点配置。其中一些值可以使用进行更改[CheckpointConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CheckpointConfiguration.html)。您必须将 `CheckpointConfiguration.ConfigurationType` 设置为 适用于 Managed Service for Apache Flink 的 `CUSTOM`，才能使用修改的检查点值。


****  

| 设置 | 是否可以修改？ | 操作方法 | 默认值 | 
| --- | --- | --- | --- | 
| CheckpointingEnabled | 可修改 | [创建应用程序](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html)<br />[更新应用程序](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)<br />[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalyticsV2.html) | True | 
| CheckpointInterval | 可修改 | [创建应用程序](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html)<br />[更新应用程序](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)<br />[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalyticsV2.html) | 60000 | 
| MinPauseBetweenCheckpoints | 可修改 | [创建应用程序](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html)<br />[更新应用程序](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)<br />[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalyticsV2.html) | 5000 | 
| 未对齐的检查点 | 可修改 | [支持案例](https://console.aws.amazon.com/support/home#/) | False | 
| 并发检查点数 | 不能修改 | N/A | 1 | 
| 检查点模式 | 不能修改 | N/A | 恰好一次 | 
| 检查点保留策略 | 不能修改 | N/A | 失败时 | 
| 检查点超时 | 不能修改 | N/A | 60 分钟 | 
| 保留的最大检查点数 | 不能修改 | N/A | 1 | 
| 检查点和保存点位置 | 不能修改 | N/A | 我们将持久的检查点和保存点数据存储到服务拥有的 S3 存储桶中。 | 

## 保存点
<a name="reference-defaults-savepoint"></a>

默认情况下，从保存点中还原时，恢复操作尝试将保存点的所有状态映回到用于还原的程序。如果删除了一个操作符，默认情况下，从包含与缺少的操作符对应的数据的保存点中还原将失败。通过将应用程序的*AllowNonRestoredState*参数设置为，可以允许操作成功`true`。[FlinkRunConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_FlinkRunConfiguration.html)这样，恢复操作就可以跳过无法映射到新程序的状态。

有关更多信息，请参阅 [Apache Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15/) 文档中的[允许 Non-Restored 状态](https://nightlies.apache.org/flink/flink-docs-release-1.15/ops/state/savepoints.html#allowing-non-restored-state)。

## 堆大小
<a name="reference-defaults-heap"></a>

Managed Service for Apache Flink为每个 KPU 分配 3 GiB JVM 堆，并为本机代码分配保留 1 GiB。有关增加应用程序容量的信息，请参阅[实施 Managed Service for Apache Flink 中的应用程序扩展](how-scaling.md)。

有关 JVM 堆大小的更多信息，请参阅[ Apache Flink 文档](https://nightlies.apache.org/flink/flink-docs-release-1.15/)中的[配置](https://nightlies.apache.org/flink/flink-docs-release-1.15/ops/config.html)。

## 缓冲区消胀
<a name="reference-defaults-buffer-debloating"></a>

缓冲区消胀可以帮助具有高背压的应用。如果您的应用程序体验失败 checkpoints/savepoints，启用此功能可能会很有用。为此，请申请[支持案例](https://console.aws.amazon.com/support/home#/)。

有关更多信息，请参阅 [Apache Flink 文档](https://nightlies.apache.org/flink/flink-docs-release-1.15/)中的[缓冲区消胀机制](https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/deployment/memory/network_mem_tuning/#the-buffer-debloating-mechanism)。