1. 程式人生 > 其它 >記錄Flink On Yarn taskmanager分配不均勻問題

記錄Flink On Yarn taskmanager分配不均勻問題

業務場景:

Flink On Yarn任務啟動

元件版本:
CDH:6.3.0
Flink:1.12.1
Hadoop:3.0.0

問題描述:

在使用FLink on Yarn排程過程中,發現taskmanager總是分配在集中的幾個節點上,叢集有11個節點,但每個任務啟動,只用到兩三個節點,導致這幾臺伺服器負載過高,其他節點又比較空閒。

 

 問題分析:

先介紹yarn的兩個引數:
1、yarn.scheduler.fair.assignmultiple
2、yarn.scheduler.fair.max.assign
第一個引數代表是否在一個節點分配多個container,第二個引數代表在一個節點上一次性最多分配幾個container。
CDH6.3.0中第一個引數預設為true,則意味著會在一個節點上分配多個container,則會有多個taskmanager。
第二個引數預設為-1,則意味著不限制,則會一次性分配較多container。

問題解決:

第一種:將yarn.scheduler.fair.assignmultiple改為false
第二種:yarn.scheduler.fair.assignmultiple為true,將yarn.scheduler.fair.max.assign指定較小數值