我有一个12节点的集群,我运行的是yarn架构。似乎我的节点大部分时间都很忙,很多时候作业都失败了。如何检查任何时间点的资源使用情况?还有什么方法可以为用户设置有限的资源,例如:如果用户提交了一个作业,那么应该只给他25 of的内存和12个内核。
发布于 2016-01-05 10:21:21
监控集群的方式有多种。
如果您使用的是Cloudera发行版,则可以转到Cloudera Manager来监视和管理资源
如果您使用的是Hortonworks发行版,那么您可以转到Ambari web界面来监控和管理资源
如果您没有使用任何发行版,那么集群将使用Ganglia或Nagios web界面进行管理
即使您没有这些工具,您也可以转到资源管理器web界面,该界面通常在http://:8088上运行。8088是默认的端口号,可以对其进行自定义,您可以从yarn-site.xml获取该信息
如果您的组织不提供对web界面的访问,您可以使用诸如yarn application --list和mapred job --list之类的命令来查看群集中发生的事情
监视实际使用情况有点单调乏味。您应该了解用于监视和开发shell脚本的linux命令。
也有任何方法可以为用户设置有限的资源,例如:如果用户提交了一个作业,他应该只获得25 of的内存和12个内核。
是的,您需要使用Yarn中嵌入的队列和池的调度程序概念。有3种类型的调度器FIFO,容量和公平。FIFO不应该在任何集群中使用,它主要用于开发。您需要了解容量和公平调度程序,并设置限制。
发布于 2016-01-05 11:13:51
似乎我的节点大部分时间都很忙,很多时候作业都失败了
您可以实现一些通用的性能调优指导原则来提高吞吐量。看看这篇文章:Tips to improve MapReduce Job performance in Hadoop,cloudera article和Map reduce performance aticle
也有任何方法可以为用户设置有限的资源,例如:如果用户提交了一个作业,他应该只获得25 of的内存和12个内核。
加上杜尔加的回答,
公平调度是一种将资源分配给应用程序的方法,以便所有应用程序在一段时间内平均获得相等的资源份额。Hadoop NextGen能够调度多种资源类型。
默认情况下,公平调度程序仅根据内存来决定调度公平性。它可以配置为使用内存和CPU进行调度,使用Ghodsi开发的主导资源公平性的概念。
调度器将应用程序进一步组织到“队列”中,并在这些队列之间公平地共享资源。通过配置请求中包含的By default, all users share a single queue, named “default”. If an app specifically lists a queue in a container resource request, the request is submitted to that queue. It is also possible to assign queues based on the user name。
例如:
<user name="sample_user">
<maxRunningApps>30</maxRunningApps>
</user>
<userMaxAppsDefault>5</userMaxAppsDefault>CapacityScheduler旨在以操作员友好的方式将Hadoop应用程序作为共享的多租户群集运行,同时最大限度地提高群集的吞吐量和利用率。
传统上,每个组织都有自己的私有计算资源集,这些资源具有足够的容量来满足组织在高峰或接近高峰条件下的SLA。这通常会导致管理多个独立群集的平均利用率和开销较低,每个组织一个群集
<property>
<name>yarn.scheduler.capacity.queue-mappings</name>
<value>u:user1:queue1,g:group1:queue2,u:%user:%user,u:user2:%primary_group</value>
<description>
Here, <user1> is mapped to <queue1>, <group1> is mapped to <queue2>,
maps users to queues with the same name as user, <user2> is mapped
to queue name same as <primary group> respectively. The mappings will be
evaluated from left to right, and the first valid mapping will be used.
</description>
</property>https://stackoverflow.com/questions/34603142
复制相似问题