Ner*_*rve 27 hadoop resourcemanager hadoop-yarn apache-spark
无论我多少修改设置,yarn-site.xml即使用以下所有选项
yarn.scheduler.minimum-allocation-vcores
yarn.nodemanager.resource.memory-mb
yarn.nodemanager.resource.cpu-vcores
yarn.scheduler.maximum-allocation-mb
yarn.scheduler.maximum-allocation-vcores
Run Code Online (Sandbox Code Playgroud)
我仍然无法获得我的应用程序,即Spark,以利用群集上的所有核心.火花执行器似乎正确地占用了所有可用的内存,但每个执行器只是继续使用单个内核而不再使用.
以下是配置的选项 spark-defaults.conf
spark.executor.cores 3
spark.executor.memory 5100m
spark.yarn.executor.memoryOverhead 800
spark.driver.memory 2g
spark.yarn.driver.memoryOverhead 400
spark.executor.instances 28
spark.reducer.maxMbInFlight 120
spark.shuffle.file.buffer.kb 200
Run Code Online (Sandbox Code Playgroud)
请注意,spark.executor.cores设置为3,但它不起作用.我该如何解决?
Ner*_*rve 50
问题不在于yarn-site.xml或者spark-defaults.conf实际上是资源计算器将核心分配给执行者,或者在MapReduce作业的情况下,分配给Mappers/Reducers.
默认资源计算器即org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator仅使用内存信息来分配容器,并且默认情况下不启用CPU调度.使用这两种内存以及CPU,资源计算器需要改变,以org.apache.hadoop.yarn.util.resource.DominantResourceCalculator中capacity-scheduler.xml文件.
这是需要改变的.
<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6763 次 |
| 最近记录: |