如何为高优先级加工预留纱线容器 - 养猪工作

时间:2014-08-05 21:37:47

标签: hadoop apache-pig yarn

我使用hadoop 2.4.1和Yarn处理猪作业。我的一些猪工作是高度优先的(它们应该在不到20分钟的时间内运行)。我正在寻找PIG或YARN选项来为我的高优先级工作预留纱线容器。有没有办法做到这一点?

现在,我总是依赖其他正在运行的工作,根据工作规模,我的优先工作可以等几个小时。

谢谢, 罗曼

1 个答案:

答案 0 :(得分:2)

您可以使用Fair Scheduler进行此操作。

Fair Scheduler将您的应用程序组织成“队列”,然后在这些队列之间公平地共享资源。除了提供公平共享之外,它还允许为队列分配保证的最小份额,这有助于确保某些队列始终获得足够的资源。您还可以为不同的队列等分配不同的权重。

要使用公平的日程安排程序,请将以下内容放入yarn-site.xml

<property>
  <name>yarn.resourcemanager.scheduler.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

要设置各种队列,您需要创建一个分配文件fair-scheduler.xml并将其放在hadoop conf目录中。您可以在此处找到分配文件的格式和更多信息:http://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-site/FairScheduler.html

在您的情况下,您可能希望为高优先级作业创建单独的队列。为该队列分配最小份额,以便在给定此份额时,在所需的时间内完成这些作业。您可能还希望将yarn.scheduler.fair.preemption设置为true,以确保调度程序抢占已经在运行的作业,以确保您的队列获得最小份额。