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

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

以下参数配置为例子

spark-submit

--master yarn-cluster  / yarn-client    #使用集群调度模式/客户端模式

--num-executors  2         # executor 数量

--executor-cores  16           #设置单个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+container暂用内存数,ambari默认1g))+(driver-memory)。

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


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