在 Managed Service for Apache Flink 中使用自动扩展 - Managed Service for Apache Flink

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

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

在 Managed Service for Apache Flink 中使用自动扩展

Managed Service for Apache Flink 可以弹性地扩展应用程序的并行度,以适应大多数情况下源的数据吞吐量和操作员的复杂性。默认情况下,将会启用自动扩展。Managed Service for Apache Flink 监控应用程序的资源 (CPU) 使用情况,并相应地弹性地向上或向下扩展应用程序的并行度:

  • 如果 CloudWatch 指标最大 containerCPUUtilization 在 15 分钟内大于 75% 或以上,则您的应用程序会向上扩展(增加并行度)。这意味着,当连续有 15 个数据点,其中 1 分钟周期等于或大于 75% 时,就会启动 ScaleUp 操作。ScaleUp 操作将应用程序的 CurrentParallelism 翻倍。 ParallelismPerKPU 未修改。因此,分配的 KPU 数量也翻倍。

  • 当 CPU 使用率在六小时内保持在 10% 以下时,您的应用程序会缩小规模(降低并行度)。这意味着当 360 个连续数据点的 1 分钟周期小于 10% 时,就会启动 ScaleDown 操作。ScaleDown 操作将应用程序的并行度减半(向上舍入)。 ParallelismPerKPU 未修改,分配的 KPU 的数量也减半(向上舍入)。

注意

可以引用最长 containerCPUUtilization 超过 1 分钟的时间段来查找与用于缩放操作的数据点的相关性,但没有必要反映启动操作的确切时刻。

Managed Service for Apache Flink 不会将应用程序的CurrentParallelism价值降低到低于应用程序设置的Parallelism值。

当 Managed Service for Apache Flink 正在扩展您的应用程序时,它将处于状态。AUTOSCALING您可以使用 DescribeApplication ListApplications 操作来检查当前的应用程序状态。在该服务扩展您的应用程序时,您可以使用的唯一有效的 API 操作是将Force参数设置为 停止应用程序true

您可以使用 AutoScalingEnabled 属性(FlinkApplicationConfiguration 的一部分)启用或禁用自动扩展行为。您的AWS帐户需要为 Managed Service for Apache Flink提供的 KPU 付费,这取决于您的应用程序parallelismparallelismPerKPU设置。活动激增会增加您的 Managed Service for Apache Flink 费用。

有关定价的更多信息,请参阅Amazon Managed Service for Apache Flink 定价

请注意有关应用程序扩展的以下内容:

实施自定义自动扩展

如果您想对自动扩展进行更精细的控制或使用 containerCPUUtilization 之外的触发指标,则可以使用以下示例:

  • 自动扩展

    此示例说明了如何使用来自 Apache Flink 应用程序的不同 CloudWatch 指标来扩展 Managed Service for Apache Flink 应用程序,包括来自 Amazon MSK 和 Amazon Kinesis Data Streams 的指标(用作源或接收器)。

有关更多信息,请参阅 Apache Flink 的增强监控和自动扩展

实施计划的自动扩展

如果您的工作负载随时间推移呈现可预测的趋势,您可能更倾向于预先扩展您的 Apache Flink 应用程序。这会按计划的时间扩展您的应用程序,而不是根据指标进行被动扩展。要设置在一天中的固定时间纵向扩展和缩减,可以使用以下示例: