如何为高优先级加工保留Yarn容器-清管器作业

1tu0hz3e  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(296)

我用hadoop2.4.1和yarn处理Pig的工作。我的一些养Pig工作是高度优先的(它们应该在不到20分钟内完成)。我正在寻找一个Pig或纱的选择,以保留我的高度优先工作纱容器。有办法吗?
现在,我总是依赖于其他正在运行的作业,根据作业的大小,我的优先作业可以等待数小时。
谢谢,罗曼

wnvonmuf

wnvonmuf1#

你可以使用公平调度程序。
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,以确保调度程序抢占已运行的作业,以确保队列获得其最小共享。

相关问题