在AWS EMR上,使用的VCore总是小于Spark on YARN上的VCores总数?

时间:2017-12-06 19:02:03

标签: amazon-web-services apache-spark emr

我使用Spark使用spark sklearn包运行网格搜索作业。这是我的配置

NUM_SLAVES = 14
DRIVER_SPARK_MEMORY=53 # "spark.driver.memory"
EXECUTOR_SPARK_MEMORY=5 # "spark.executor.memory"
EXECUTOR_CORES=1 #"spark.executor.cores"
DRIVER_CORES=1 # "spark.driver.cores"
EXECUTOR_INSTANCES=126 # "spark.executor.instances"
SPARK_DYNAMICALLOCATION_ENABLED=false # "spark.dynamicAllocation.enabled"
SPARK_YARN_EXECUTOR_MEMORYOVERHEAD=1024 # "spark.yarn.executor.memoryOverhead"
SPARK_YARN_DRIVER_MEMORYOVERHEAD=6144 # "spark.yarn.driver.memoryOverhead"
SPARK_DEFAULT_PARALLELISM=252 # "spark.default.parallelism" 

这反映在AWS EMR上的配置设置中 This is reflected in the configuration settings on AWS EMR

每个从站有60 GB内存(c4.8xlarge),驱动程序是同一台机器。他们有36个VCPU,我在AWS上读到这意味着18个核心。基于此,我将上面的配置最小化了我未使用的内存。

configuration from AWS

上图显示了群集指标。

我不知道为什么只使用了495个可用的43个核心,尽管内存使用得当。我按照question的建议使用了DominantResourceCalculator。

有人可以建议我在这里缺少什么吗?

0 个答案:

没有答案