Flink全托管支持基础模式(粗粒度)和专家模式(细粒度)两种资源配置模式。本文为您介绍如何配置粗粒度和细粒度资源。
背景信息
资源模式 |
说明 |
基础模式 |
粗粒度是一种静态资源分配方式,您只需要给定每个TM的启动所需要的总资源(CPU和JVM总内存),系统会根据taskmanager.numberOfTaskSlots的值均匀分配所有资源。对于大多数简单作业,粗粒度即可满足要求。 |
专家模式 |
细粒度是一种动态资源分配方式,您可以配置每个Task(甚至算子)所需要的资源,从而Flink会算出每个Slot需要的资源规格大小,动态的从可用资源池去申请完全匹配的TM和SLOT。对于复杂作业,粗粒度可能导致资源利用率低,因此需要细粒度资源对每个算子进行精细资源控制,从而提高资源使用率,满足作业吞吐的要求。 |
关于TM、JM、TASK、SLOT等概念的详情请参见Flink架构
前提条件
其他阿里云账号或RAM用户共同使用Flink全托管产品时,需要为阿里云账号或RAM用户授权,以进行配置作业资源等相关操作,详情请参见作业操作账号授权。
操作步骤
- 进入目标作业运维页面。
- 登录实时计算管理控制台。
- 在Flink全托管页签,单击目标工作空间操作列下的控制台。
- 在左侧导航栏上,选择。
- 单击目标作业操作列的启动。
- 填写资源配置信息。
- 基础模式(粗粒度)

配置项 |
说明 |
JobManager CPU Cores |
根据Flink最佳实践,单个JM内存资源需要至少配置为0.25 core和1 Gi,才能保证作业稳定运行。 |
JobManager Memory |
单位建议使用Gi或Mi,例如,1024 Mi或1.5 Gi。 |
TaskManager CPU Cores |
根据Flink最佳实践,单个TM内存资源需要至少配置为0.25 core和1 Gi,才能保证作业稳定运行。 |
TaskManager Memory |
单位建议使用Gi或Mi,例如,1024 Mi或1.5 Gi。 |
并发度 |
作业全局并发数。 |
Flink配置 |
Flink通过丰富的配置项用来精准的设置JM和TM每项内存的大小。例如通过taskmanager.memory.task.heap.size配置Task Heap Memory的值,通过taskmanager.memory.managed.fraction配置Managed Memory占整体内存的比例等,详情请参见Configuration。
|
- 专家模式(细粒度)

配置项 |
说明 |
JobManager CPU Cores |
根据Flink最佳实践,单个JM内存资源需要至少配置为0.25 core和1 Gi,才能保证作业稳定运行。 |
JobManager Memory |
单位建议使用Gi或Mi,例如,1024 Mi或1.5 Gi。 |
配置计划 |
配置计划即配置SLOT资源,填写步骤和说明如下:
- 单击立刻获取。
- 单击SLOT框上的
图标。
- 修改SLOT配置信息。
 此处设置的并发数为整个作业全局的并发数。设置完成后,系统将自动进行以下操作:
- 系统将自动为每个VERTEX设置相同的并发数。
- 系统会根据作业的计算逻辑按需自动生成Statebackend、Python和Operator所需的内存,无需您手动进行配置。
- 系统默认会按照一个SLOT所需的全部内存大小(即Heap Memory、Off-heap Memory、Statebackend、Python和Operator内存之和),以1:4的比例,生成一个SLOT所需的CPU。
说明 建议在有明确异常或者需求时,再调整Heap Memory和Off-heap Memory的大小,例如作业出现OOM或严重GC等。因为在作业正常运行时,调整Heap
Memory和Off-heap Memory的大小,不会明显改变作业的吞吐量。
- 修改VERTEX并发数。
单击VERTEX框的 图标,按需为某个VERTEX设置并发数。
- 修改Operator并发数和Chain策略。
Chain策略说明如下:
- ALWAYS:始终可以和上下游算子Chain一起。
- HEAD:当前算子作为Chain的头节点,只和上游算子断开Chain,下游节点仍和当前算子Chain在一起。
- NEVER:当前算子不会与上下游算子进行Chain。
说明
- 建议Source节点并发度和分区数成比例,即并发度数能整除分区数。例如Kafka有16个分区,则并发度建议设置为16、8或4,这样可以避免数据倾斜。同时Source节点的并发度不宜设置太小,避免一个Source需要读取太多数据,导致出现入口瓶颈,影响作业吞吐。
- 建议按需配置除Source外的其他节点的并发度。流量大的节点,并发设置大一些;流量小的节点,并发设置小一些。
- 单击确认。
|
Flink配置 |
可以配置的参数及说明,详情请参见Configuration。
说明 在Flink 配置中修改了配置,需要单击重新生成,才能产生新的资源配置计划。
|
- 单击下一步,填写基础设置信息。
- 单击启动。
作业启动后,您可以在对应的作业中以下路径中查看JM和TM的数量和内存分布情况。详情如下:
- JM内存情况

- TM内存情况