2
不考慮火花執行器的核心數量,執行器的紗線容器不使用多於1個芯。紗線客戶端上的Spark執行程序不執行執行程序核心數量配置。
不考慮火花執行器的核心數量,執行器的紗線容器不使用多於1個芯。紗線客戶端上的Spark執行程序不執行執行程序核心數量配置。
YARN每個執行器顯示1個核心,而不管spark.executor.cores
,因爲默認使用DefaultResourceCalculator。它只考慮內存。
public int computeAvailableContainers(Resource available, Resource required) {
// Only consider memory
return available.getMemory()/required.getMemory();
}
使用DominantResourceCalculator,它同時使用cpu和內存。
設置以下配置中capacity-scheduler.xml
yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
謝謝謝克爾。它確實有幫助。 –
您可以發佈工作的例子嗎? –
以下是火花配置: –
以下是火花配置:spark.executor.cores = 2和spark.executor.instances = 5。紗線中啓動的執行器數量爲5個,但每個只使用1個內核。驅動程序UI中的Spark屬性顯示executor核心爲2,但在Yarn UI中,它顯示每個容器(執行程序)使用1個核心。 –