大数据CDHSpark

Spark on Yarn提交配置没有生效

2021-06-23  本文已影响0人  小KKKKKKKK

在Yarn上提交Spark任务,在提交时命令为

spark-submit --master yarn --deploy-mode client --num-executors 1 --executor-memory 512mb --executor-cores 1 --driver-memory 1g --driver-cores 1   --jars xxx.jar --class xxx xxx.jar

理论上提交的资源应该为内存1.5g,虚拟CPU2。
但是提交到Yarn,通过Web UI发现提交的配置并没有生效

image.png
可以发现用了9个虚拟CPU,9GB内存
这是为什么呢?
通过查找资料发现,是因为spark开启了动态资源配置spark.dynamicAllocation.enabled

以下相关参数:
spark.dynamicAllocation.minExecutors,动态分配最小executor个数,在启动时就申请好的,默认0;

spark.dynamicAllocation.maxExecutors,动态分配最大executor个数,默认infinity;

spark.dynamicAllocation.initialExecutors动态分配初始executor个数默认值=spark.dynamicAllocation.minExecutors

spark.dynamicAllocation.executorIdleTimeout当某个executor空闲超过这个设定值,就会被kill,默认60s;

spark.dynamicAllocation.cachedExecutorIdleTimeout,当某个缓存数据的executor空闲时间超过这个设定值,就会被kill,默认infinity;

spark.dynamicAllocation.schedulerBacklogTimeout,任务队列非空,资源不够,申请executor的时间间隔,默认1s

spark.dynamicAllocation.sustainedSchedulerBacklogTimeout,同schedulerBacklogTimeout,是申请了新executor之后继续申请的间隔,默认=schedulerBacklogTimeout;

上一篇下一篇

猜你喜欢

热点阅读