我使用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"
每个从站有60 GB内存(c4.8xlarge),驱动程序是同一台机器。他们有36个VCPU,我在AWS上读到这意味着18个核心。基于此,我将上面的配置最小化了我未使用的内存。
上图显示了群集指标。
我不知道为什么只使用了495个可用的43个核心,尽管内存使用得当。我按照question的建议使用了DominantResourceCalculator。
有人可以建议我在这里缺少什么吗?