控制和监视YARN中同时mapreduce任务的数量

时间:2014-02-27 13:24:31

标签: hadoop mapreduce yarn

我在少数强大的计算机上部署了Hadoop 2.2群集。我有一个约束,使用YARN作为框架,我不是很熟悉。

  1. 如何控制实际地图的数量并减少并行运行的任务?每台机器都有许多CPU核心(12-32)和足够的RAM。我想最大限度地利用它们。
  2. 如何监控我的设置实际上是否能更好地利用机器?在哪里可以查看在给定作业期间使用了多少核心(线程,进程)?
  3. 感谢您提前帮助我融化这些机器:)

3 个答案:

答案 0 :(得分:4)

1。
在MR1中,mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum属性决定了每个TaskTracker有多少个map和reduce槽。

YARN中不再存在这些属性。相反,YARN使用yarn.nodemanager.resource.memory-mb和yarn.nodemanager.resource.cpu-vcores,它们控制每个节点上的内存和CPU数量,两者都可用于映射并减少

本质:
YARN没有TaskTrackers,只是通用的NodeManagers。因此,不再有Map插槽和Reduce插槽分离。一切都取决于使用/需要的内存量

2

使用网络用户界面,您可以获得大量监控/管理员信息:

NameNode - http://:50070 /
资源管理器 - http://:8088 /

此外,Apache Ambari的意思是: http://ambari.apache.org/

和Hue在很多方面与Hadoop / YARN集群接口: http://gethue.com/

答案 1 :(得分:3)

  1. 来自Hortonworks的YARN配置有good guide
  2. 您可以在Job History服务器中分析您的工作。它通常可以在端口19888上找到。AmbariGanglia也非常适合集群利用率测量。

答案 2 :(得分:2)

我遇到同样的问题, 为了增加映射器的数量,建议减小输入分割的大小(每个输入分割由映射器处理,因此容器处理)。我不知道怎么做,

实际上,hadoop 2.2 / yarn没有考虑以下任何设置

<property>
    <name>mapreduce.input.fileinputformat.split.minsize</name>
    <value>1</value>
</property>
<property>
    <name>mapreduce.input.fileinputformat.split.maxsize</name>
    <value>16777216</value>
</property>

<property>
    <name>mapred.min.split.size</name>
    <value>1</value>
</property>
<property>
    <name>mapred.max.split.size</name>
    <value>16777216</value>
</property> 

最好的