重要
AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 通过此公告了解详细信息。
需要将工作负荷迁移到 Microsoft Fabric 或等效的 Azure 产品,以避免工作负荷突然终止。
重要
此功能目前以预览版提供。 Microsoft Azure 预览版补充使用条款包括适用于 beta 版、预览版或尚未正式发布的 Azure 功能的更多法律条款。 有关此特定预览版的信息,请参阅 Azure HDInsight on AKS 的预览版信息 。 有关问题或功能建议,请在 AskHDInsight 上提交一个请求,其中包含详细信息,并关注我们以获取 有关 Azure HDInsight 社区的详细信息。
AKS 上的 HDInsight 为大多数属性提供了一组默认的 Apache Flink 配置,并针对常见应用程序配置文件设置了一些特定的配置。 但是,如果需要调整 Flink 配置属性以提高具有状态使用、并行度或内存设置的某些应用程序的性能,可以使用 AKS 群集上 HDInsight 的 Flink 作业部分更改 Flink 作业配置。
转到“设置”>“Flink 作业”> 单击“更新”。
单击“ + 添加行 ”以编辑配置。
此处的检查点间隔在 群集级别更改。
单击“确定”,然后保存来更新更改。
保存后,新配置会更新几分钟(约 5 分钟)。
可以使用配置管理设置更新的配置。
processMemory size:
进程内存大小或作业管理器和任务管理器的默认设置是创建群集期间由用户配置的内存。
可以使用以下配置属性配置此大小。 若要更改任务管理器进程内存,请使用此配置。
taskmanager.memory.process.size : <value>
示例:
taskmanager.memory.process.size : 2000mb
对于作业管理器
jobmanager.memory.process.size : <value>
注释
可配置的最大进程内存等于为
jobmanager/taskmanager
配置的内存。
检查点间隔
检查点间隔确定 Flink 触发检查点的频率。 以毫秒为单位定义,可以使用以下配置属性进行设置
execution.checkpoint.interval: <value>
默认设置为 60,000 毫秒(1 分钟),此值可以根据需要更改。
后端状态管理
状态后端确定 Flink 如何管理和保留应用程序的状态。 它会影响检查点的存储方式。 可以使用以下属性配置`状态后端`:
state.backend: <value>
默认情况下,HDInsight on AKS 中的 Apache Flink 群集使用 Rocks DB。
检查点存储路径
我们默认允许持久检查点,方法是将检查点存储在用户配置的 abfs
存储中。 即使作业失败,由于检查点仍然存在,因此可以轻松开始使用最新的检查点。
state.checkpoints.dir: <path>
将 <path>
替换为存储检查点的所需路径。
默认情况下,存储在用户配置的存储帐户 (ABFS) 中。 只要 Flink Pod 可以访问该值,此值就可以更改为所需的任何路径。
最大并发检查点数量
可以通过设置以下属性来限制并发检查点的最大数目:checkpoint.max-concurrent-checkpoints: <value>
将 <value>
替换为所需的并发检查点数。 例如,1 一次只允许一个检查点。
最大保留检查点数
可以通过设置以下属性来限制要保留的最大检查点数:
state.checkpoints.num-retained: <value>
将 <value>
替换为所需的最大数量。 默认情况下,我们保留最多五个检查点。
Savepoint 存储路径
我们默认允许持久保存点,方法是将保存点存储在 abfs
存储(由用户配置)。 如果用户想要停止和以后使用特定保存点启动作业,则可以配置此位置。
state.checkpoints.dir:<path>
将 <path>
替换为存储保存点的所需路径。
默认情况下,存储在用户配置的存储帐户中。 (我们支持 ABFS)。 只要 Flink Pod 可以访问该值,此值就可以更改为所需的任何路径。
作业管理器高可用性
在 AKS 上的 HDInsight 中,Flink 使用 Kubernetes 作为后端。 即使任务管理器因任何已知或未知问题而出现故障,Pod 也会在几秒钟内自动重启。 因此,即使作业因该问题重启,作业也会从最新的检查点处恢复。
常见问题
作业为什么中途失败? 即使作业突然失败,如果检查点持续发生,则默认情况下从最新检查点重启作业。
在中途更改作业策略? 在有些用例中,由于某些任务级别的 bug,需要在生产环境中修改任务。 在此期间,用户可以停止作业,这会自动获取保存点并将其保存在保存点位置。
由于保存点在作业中提供,因此 Flink 知道从何处开始处理数据。
参考文献
- Apache Flink 配置
- Apache、Apache Kafka、Kafka、Apache Flink、Flink 和关联的开源项目名称是 Apache Software Foundation(ASF)的商标。