Spark on Yarn:任务提交参数配置

本文介绍在YARN集群模式下运行Spark任务时的资源分配策略及配置参数,包括executor数量、核心数、内存大小等,并提供了一个实际的例子来展示如何通过spark-submit脚本设置这些参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行。Spark可以使得多个Tasks在同一个容器里面运行。

以下参数配置为例子:

spark-submit

--master yarn-cluster       #使用集群调度模式(一般使用这个参数)

--num-executors  132         # executor 数量

--executor-cores  2           #设置单个executor能并发执行task数,根据job设置,推荐值2-16 (这里不是指CPU数,集群不限制CPU使用)

--driver-memory 4g       #driver的内存大小,推荐值2-6G,不宜太大

--executor-memory 6g      #单个executor的内存大小,根据job需求以及并发数设置,最大不要超过30G

。。。

  • 公式:

1、containers的最大值就是spark 设置的 num-executors值 ;

2、实际占用的总的vcores≈(executor-cores)*containers(实际executors)

3、内存计算公式:((实际占用的总的containers)*(executor-memory+512M))+(driver-memory)。

  • 以下是我实际执行的情况:

submit.sh

#!/bin/sh
spark-submit --master yarn-cluster --class MyMain --num-executors 132 --executor-cores 2 --driver-memory 4g --executor-memory 6g xxx.jar

yarn resoruce manager监控的资源占用结果:

 基本上按照上边公式。

 

参考资料:

Spark On YARN内存分配 https://yq.aliyun.com/articles/25468

spark on yarn - job提交重要参数说明:http://www.tuicool.com/articles/7vuu22b

spark-submit提交参数设置:http://www.cnblogs.com/gnool/p/5643595.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值