如何配置纱线使用所有vcores?

时间:2017-02-09 21:17:18

标签: apache-spark spark-streaming yarn hadoop2

我们正在运行一个使用yarn作为集群管理器的火花流工作,我为每个节点每个节点专用7个核心...通过yarn-site.xml,如下图所示

enter image description here

当作业正在运行时..仅使用 2个vcores 5个vcores 是独立的,并且作业很慢,许多批次排队..

我们如何才能使用所有7个vcores ..它可以使用这是运行时的用法,以便加快我们的工作

enter image description here

如果我们是Yarn& Sons的新手,社区的任何专家都会提供帮助,我们将不胜感激。 Spark

2 个答案:

答案 0 :(得分:1)

在火花级别,您可以使用参数spark.yarn.am.cores来控制纱线应用主人的核心。

对于spark执行者,您需要将--executor-cores传递给spark-submit

然而,从火花,你无法控制纱线选择分配给它产生的正确的容器(vcores / memory),因为你正在运行火花纱线。
为了控制您需要更改纱线vcore参数,例如yarn.nodemanager.resource.cpu-vcoresyarn.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>

别忘了重启纱线