2017-04-02 95 views
4

在YARN上運行Spark,集羣模式。紗YARN上的Spark:執行沒有worker的驅動程序

  • 3數據節點
  • YARN => 32個vCores,32 GB RAM

我提交火花方案是這樣的:

spark-submit \ 
    --class com.blablacar.insights.etl.SparkETL \ 
    --name ${JOB_NAME} \ 
    --master yarn \ 
    --num-executors 1 \ 
    --deploy-mode cluster \ 
    --driver-memory 512m \ 
    --driver-cores 1 \ 
    --executor-memory 2g \ 
    --executor-cores 20 \ 
    toto.jar json 

我可以看到2個作業在2個節點上運行良好。但是我還可以看到另外兩個只有驅動程序容器的工作!

YARN web UI

是否有可能無法運行驅動程序,如果沒有對工人的任何資源?

回答

3

其實,有限制的資源,以「應用程序大師」的設置(在星火的情況下,這是驅動程序):

yarn.scheduler.capacity.maximum-am-resource-percent 

http://maprdocs.mapr.com/home/AdministratorGuide/Hadoop2.xCapacityScheduler-RunningPendingApps.html

資源的最大百分比在可用於運行 應用程序主控的羣集中 - 控制併發活動 應用程序的數量。

這樣,YARN將不會爲Spark驅動程序充分獲取資源,併爲工作人員保留資源。 Youpi!

相關問題