控制和监视yarn中同时map/reduce任务的数量

uidvcgyl  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(453)

我在一些功能强大的机器上部署了一个hadoop2.2集群。我有一个限制使用Yarn作为框架,我不是很熟悉。
如何控制实际map的数量并减少并行运行的任务?每台机器有许多cpu核(12-32)和足够的ram。我想最大限度地利用它们。
如何监控我的设置是否真的提高了机器的利用率?在哪里可以检查给定作业期间使用了多少个内核(线程、进程)?
提前感谢你帮我融化这些机器:)

pgpifvop

pgpifvop1#

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,这两种内存和cpu都可用于map和reduce
基本上:
yarn没有tasktracker,只有普通的nodemanager。因此,没有更多的Map槽并减少槽分离。一切都取决于使用/需要的内存量
2
使用web ui,您可以获得许多监视/管理信息:
名称节点-http://:50070/
资源管理器-http://:8088/
此外,apache ambari的目的是:http://ambari.apache.org/
与hadoop/Yarn集群接口的色调:http://gethue.com/

7xllpg7q

7xllpg7q2#

我也有同样的问题,为了增加Map器的数量,建议减小输入分割的大小(每个输入分割都由Map器和容器处理)。我不知道怎么做,
实际上,hadoop2.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>

最好的

yrefmtwq

yrefmtwq3#

从hortonworks可以很好地指导Yarn的配置
您可以在作业历史记录服务器中分析作业。通常可在19888港找到。ambari和ganglia也非常适合集群利用率度量。

相关问题