[英]Spark on YARN: execute driver without worker
在YARN上运行Spark,群集模式。
我正在提交这样的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个作业正常运行。 但我还可以看到另外两个只有一个驱动器容器的工作!
如果没有工人资源,是否可以不运行驱动程序?
实际上,有一个设置将资源限制为“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.