鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Yarn提交Flink任务参数修改

目的

Flink应用运行前,需要先提交Flink任务,向Yarn申请相关内存CPU等资源,提交任务命令为:yarn-session.sh -n 4 -s 64 -jm 5000 -tm 50000 -d;修改提交任务参数,调整并发及分配资源参数。

方法

提交Yarn任务时,根据实际情况对以下参数进行调整:

参数

建议值

描述

-n (taskmanager)

节点数*(4-8)。

该参数为Flink的taskmanager数目,Flink引擎运行需要由一个jobmanager以及若干个taskmanager构成。每个taskmanager都是独立的一部分,当有Flink应用需要运行时,会被随机分配到一个taskmanager运行,所以taskmanager的数目增多,可以互不干扰的并行运行更多的Flink应用。但是很显然,集群中的资源是有限的,taskmanager越多,单个taskmanager能够分配的资源则越少,也会导致Flink性能下降。所以,推荐taskmanager数目可以取集群节点数*4 ~节点数*8。

-s (slot)

根据实际场景配置。

该参数为单个taskmanager所拥有的槽位数,Flink任务提交后,集群中可以使用的总槽位数即为slot * taskmanager。一个slot可以为一个taskmanager提供1个并发,例如slot=30,即1个taskmanager最多可以跑30并发,当然实际运行的时候,也可以只跑20并发,那么此时剩余10个slot即为空闲。剩余未使用的slot,并不会占用CPU资源,但是会占用相关内存资源。该参数的修改,根据实际需要用到的并发度而动态调节。在内存足够的情况下,可以适当设置较大。

-tm(taskmanager memory)

30000

该参数为分配给单个taskmanager的内存资源。只要taskmanager内存足够使用,内存资源分配增多对性能也无直接提高。可以在jobmanager内存分配之后,先将所有剩余内存分配给taskmanager。推荐分配30000MB左右即可。

-jm(jobmanager memory)

5000

该参数为分配给jobmanager的内存资源。该参数对整体性能几乎无影响,不需要分配太大。推荐分配5000MB~15000MB即可。