2017-04-02 99 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!

相关问题