繁体   English   中英

YARN上的Spark:没有worker的执行驱动程序

[英]Spark on YARN: execute driver without worker

在YARN上运行Spark,群集模式。

  • 带有YARN的3个数据节点
  • YARN => 32个vCores,32 GB RAM

我正在提交这样的Spark程序:

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网页用户界面

如果没有工人资源,是否可以不运行驱动程序?

实际上,有一个设置将资源限制为“Application Master”(在Spark的情况下,这是驱动程序):

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

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

可用于运行应用程序主服务器的群集中资源的最大百分比 - 控制并发活动应用程序的数量。

这样,YARN就不会为Spark驱动程序获取全部资源,也不会为工作人员保留资源。 Youpi!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM