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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM