You need to enable JavaScript to run this app.
流式计算 Flink版

流式计算 Flink版

复制全文
调优管理
启用自动调优
复制全文
启用自动调优

Flink 平台已经支持为任务开启自动调优。用户可以通过基于时间,设置一次性或者周期的自动调优策略,自动的对任务按照业务需求进行扩缩容。本文将介绍如何在任务运维功能模块启用自动调优。

注意事项

开启任务自动调优前,需要先了解以下注意事项:

  • 自动调优当前支持基于实践策略
  • 自动调优会触发任务重启,会产生短暂的断流,对于数据时效性要求极高的任务不推荐使用

启用自动调优

启动方法

  1. 在项目左侧导航栏选择任务运维 > 任务管理
  2. Flink 任务页签下,筛选并单击目标任务的名称。
  3. 自动调优页签下,单击新建规则,然后设置调优相关参数并单击确定
    如果已经启用自动调优且需要修改调优规则,请单击编辑规则

Image

  1. 规则创建后如果需要启用相关调优任务,需要点击启用按钮,确认调优规则为启用,则任务会进行调度。

Image

  1. 调整优先级:通过拖拽优先级可以调整调优规则的调度顺序。如果时间出现重合,那么会优先执行优先级高的规则。

Image

参数说明

配置

说明

规则类型

规则的类型,当前支持定时规则。

规则名称

设置规则的名称。

调度周期

调优规则调度的周期,支持一次性、按天、按周、按月。

选择时间

支持设置开始时间和结束时间:

  1. 开始时间:进入开始时间后,Flink 任务会发生重启,资源会调整成目标资源用量。
  2. 结束时间:当任务进入结束时间后,Flink 任务会自动还原到调优前的资源参数。

资源配置

当前支持调整以下资源参数:

  • 并行度
  • 单个 TaskManager slot 数
  • 单个 TaskManager CPU 数、内存大小
  • 单个 JobManager CPU 数、内存大小
  • Checkpoint 周期、超时时间

参数含义可以参考 配置 Flink 参数

限制约束

功能逻辑限制

Flink 自动调优功能任务限制如下:

  1. 任务状态限制: 自动调优功能仅对处于 运行中(RUNNING) 状态的 Flink 任务生效。对已停止、创建中、失败的任务不生效。另外在以下情况,任务会不进行自动调优:
    • 没有开启 Checkpoint 的任务
    • 当前长时间(如 3h 左右)没有成功 Checkpoint 过的任务
  2. 规则数量限制: 每个 Flink 任务最多可创建 5条 有效的调优规则,以防止规则过于复杂和冲突。
  3. 冲突处理: 同一时刻,用户只能选择某一个规则生效运行。单个 Flink 任务不能同时多个任务同时进行自动调优。
  4. 时间精度: 调优动作的触发时间精度为分钟级,无法精确到秒。
  5. 任务重启风险
    1. 任务调优过程会触发任务的重启,预期会有 2-3 分钟左右的断流现象,重启过程中自动从最新的 Checkpoint / Savepoint 恢复。
    2. 自动调优期间任务会发生重启,如果任务依赖的外部资源比如 jar 包等文件被删除,会导致任务重启失败并且无法恢复的风险。请用户检查并杜绝此类风险。

不建议使用的场景

自动调优非常依赖任务运行环境的稳定,如果 Flink 作业有以下情况,建议不要开启自动调优功能:

  • 作业经常 failover(请先解决频繁重启问题)
  • 对数据延迟、 failover、任务中断极其敏感
  • 状态比较大(大状态扩缩容耗时较久:建议仅对单 task 状态大小 <= 500 MB 的使用)

流作业性能问题是由上下游共同决定的。如果是 Flink 引起的瓶颈,可以通过 Flink 资源调优解决。但调优策略对作业的处理模式基于某些假设。例如,流量平滑变化、不存在数据倾斜、每个算子的吞吐能力能够随并发度的升高而线性拓展。当业务逻辑严重偏离以上假设时,作业自动调优可能无法起到效果。例如:

  • 数据倾斜
  • 慢节点
  • 外部系统问题

另外,自动调优无法识别外部系统的问题。如果出现外部系统问题,需要自行解决。外部系统故障或访问变慢时,会导致作业并行度增大,加重外部系统的压力,导致外部系统雪崩。常见的外部系统问题如下:

  • 消息队列 partition 需要扩容。
  • Sink 性能问题。
  • 外存维表性能问题。
最近更新时间:2025.12.29 11:42:32
这个页面对您有帮助吗?
有用
有用
无用
无用