我们正在运行一个使用yarn作为集群管理器的火花流工作,我为每个节点每个节点专用7个核心...通过yarn-site.xml,如下图所示
当作业正在运行时..仅使用 2个vcores 且 5个vcores 是独立的,并且作业很慢,许多批次排队..
我们如何才能使用所有7个vcores ..它可以使用这是运行时的用法,以便加快我们的工作
如果我们是Yarn& Sons的新手,社区的任何专家都会提供帮助,我们将不胜感激。 Spark
答案 0 :(得分:1)
在火花级别,您可以使用参数spark.yarn.am.cores
来控制纱线应用主人的核心。
对于spark执行者,您需要将--executor-cores
传递给spark-submit
。
然而,从火花,你无法控制纱线选择分配给它产生的正确的容器(vcores / memory),因为你正在运行火花纱线。
为了控制您需要更改纱线vcore参数,例如yarn.nodemanager.resource.cpu-vcores
,yarn.scheduler.minimum-allocation-vcores
。您可以在此处找到更多https://www.cloudera.com/documentation/enterprise/5-3-x/topics/cdh_ig_yarn_tuning.html#configuring_in_cm
答案 1 :(得分:0)
我搜索了许多有关此问题的答案。最终,它在更改了纱线配置文件:capacity-scheduler.xml
之后就可以工作<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>
别忘了重启纱线