flink调优_yarn动态分配cpu资源

Posted 肥仔佳文猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flink调优_yarn动态分配cpu资源相关的知识,希望对你有一定的参考价值。

由于yarn默认容器资源为最小核心数,即一个cpu,

所以我们要根据并行度去调整分配的cpu资源

程序如下:指定并行度为5,指定每个TM的slot数为2

-p 5 \\

 -Dtaskmanager.numberOfTaskSlots=2 \\

所以虽然配置了2个slot(并发度为2),但是两个task不能同时运行,因为只有一个cpu

查看yarn的ui,可以看到只用到了4个cpu。

因为我们是5个并行度,所以需要至少3个tm才能运行(3个tm有6个slot)。所以用到的cpu=tm的数量*tm分配的核心数+一个jm使用的cpu=3*1+1=4

 

 

打开配置文件capacity-scheduler.xml,将defaultResourceCalculator注释掉,将下面的DominantResourceCalculator的注释去掉。yarn将动态调整容器内的cpu资源,由于我们设置了slot为2,yarn会调整成2个

 

重启程序,打开ui查看,使用的cpu核心数变成了7个   ,因为是  3*2+1

 

 

我们还可以强行指定yarn的核心数,这里指定为3

-Dyarn.containers.vcores=3 \\  

ui如下:


 使用的cpu变成了10个,因为每个tm被分配了3个核心,3*3+1=10

 

 

以上是关于flink调优_yarn动态分配cpu资源的主要内容,如果未能解决你的问题,请参考以下文章

CDH集群之YARN性能调优

Flink On Yarn集群部署

flink on yarn - yarn-session模式资源分配问题

美团1万台 Hadoop 集群 YARN 的调优之路

YARN的内存和CPU配置

cdh之调整YARN(调优yarn 生产必做优化项)004