我在一些功能强大的机器上部署了一个hadoop2.2集群。我有一个限制使用Yarn作为框架,我不是很熟悉。如何控制实际map的数量并减少并行运行的任务?每台机器有许多cpu核(12-32)和足够的ram。我想最大限度地利用它们。如何监控我的设置是否真的提高了机器的利用率?在哪里可以检查给定作业期间使用了多少个内核(线程、进程)?提前感谢你帮我融化这些机器:)
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/
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>
最好的
yrefmtwq3#
从hortonworks可以很好地指导Yarn的配置您可以在作业历史记录服务器中分析作业。通常可在19888港找到。ambari和ganglia也非常适合集群利用率度量。
3条答案
按热度按时间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/
7xllpg7q2#
我也有同样的问题,为了增加Map器的数量,建议减小输入分割的大小(每个输入分割都由Map器和容器处理)。我不知道怎么做,
实际上,hadoop2.2/yarn没有考虑以下任何设置
最好的
yrefmtwq3#
从hortonworks可以很好地指导Yarn的配置
您可以在作业历史记录服务器中分析作业。通常可在19888港找到。ambari和ganglia也非常适合集群利用率度量。