【发布时间】:2017-11-15 16:38:55
【问题描述】:
我正在 Google DataProc 集群上运行 Spark 作业。但看起来 Spark 没有使用集群中所有可用的 vcores,如下所示
基于 this 和 this 等其他一些问题,我已将集群设置为使用 DominantResourceCalculator 来考虑 vcpus 和内存进行资源分配
gcloud dataproc clusters create cluster_name --bucket="profiling-
job-default" \
--zone=europe-west1-c \
--master-boot-disk-size=500GB \
--worker-boot-disk-size=500GB \
--master-machine-type=n1-standard-16 \
--num-workers=10 \
--worker-machine-type=n1-standard-16 \
--initialization-actions gs://custom_init_gcp.sh \
--metadata MINICONDA_VARIANT=2 \
--properties=^--^yarn:yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
但是当我使用自定义火花标志提交我的工作时,看起来 YARN 不尊重这些自定义参数并且默认使用内存作为资源计算的标准
gcloud dataproc jobs submit pyspark --cluster cluster_name \
--properties spark.sql.broadcastTimeout=900,spark.network.timeout=800\
,yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator\
,spark.dynamicAllocation.enabled=true\
,spark.executor.instances=10\
,spark.executor.cores=14\
,spark.executor.memory=15g\
,spark.driver.memory=50g \
src/my_python_file.py
可以帮助某人弄清楚这里发生了什么吗?
【问题讨论】:
标签: apache-spark pyspark hadoop-yarn google-cloud-dataproc