首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hadoop资源管理

Hadoop资源管理
EN

Stack Overflow用户
提问于 2016-01-05 10:11:46
回答 2查看 304关注 0票数 1

我有一个12节点的集群,我运行的是yarn架构。似乎我的节点大部分时间都很忙,很多时候作业都失败了。如何检查任何时间点的资源使用情况?还有什么方法可以为用户设置有限的资源,例如:如果用户提交了一个作业,那么应该只给他25 of的内存和12个内核。

EN

回答 2

Stack Overflow用户

发布于 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 --listmapred job --list之类的命令来查看群集中发生的事情

监视实际使用情况有点单调乏味。您应该了解用于监视和开发shell脚本的linux命令。

也有任何方法可以为用户设置有限的资源,例如:如果用户提交了一个作业,他应该只获得25 of的内存和12个内核。

是的,您需要使用Yarn中嵌入的队列和池的调度程序概念。有3种类型的调度器FIFO,容量和公平。FIFO不应该在任何集群中使用,它主要用于开发。您需要了解容量和公平调度程序,并设置限制。

票数 0
EN

Stack Overflow用户

发布于 2016-01-05 11:13:51

似乎我的节点大部分时间都很忙,很多时候作业都失败了

您可以实现一些通用的性能调优指导原则来提高吞吐量。看看这篇文章:Tips to improve MapReduce Job performance in Hadoopcloudera articleMap 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

例如:

代码语言:javascript
复制
<user name="sample_user">
    <maxRunningApps>30</maxRunningApps>
  </user>
  <userMaxAppsDefault>5</userMaxAppsDefault>

CapacityScheduler旨在以操作员友好的方式将Hadoop应用程序作为共享的多租户群集运行,同时最大限度地提高群集的吞吐量和利用率。

传统上,每个组织都有自己的私有计算资源集,这些资源具有足够的容量来满足组织在高峰或接近高峰条件下的SLA。这通常会导致管理多个独立群集的平均利用率和开销较低,每个组织一个群集

代码语言:javascript
复制
<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>

看一看Fair schedulerCapacity scheduler

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34603142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档