記錄Flink On Yarn taskmanager分配不均勻問題
阿新 • • 發佈:2022-04-19
業務場景:
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指定較小數值