hadoop在yarn中的应用优先级

nfg76nw0  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(569)

我正在使用hadoop2.9.0。是否可以提交不同优先级的工作?根据一些jira票证,应用程序优先级现在似乎已经实现了。
我试着用 YarnClient ,并为 ApplicationSubmissionContext 在提交作业之前。我还尝试了使用cli和 updateApplicationPriority . 但是,应用程序优先级似乎没有任何变化,始终保持为0。
我是否误解了Yarn应用优先级的概念?我看到了一些关于设置队列优先级的文档,但是对于我的用例,我需要所有作业都在一个队列中。
如果您对我的理解有任何澄清,或者对我可能做错的地方有任何建议,我们将不胜感激。
谢谢。

afdcj2ne

afdcj2ne1#

是的,可以在Yarn簇上设置应用程序的优先级。
叶队列级别优先级
您可以定义具有不同优先级的队列,并使用spark submit将应用程序提交到具有所需优先级的特定队列。
基本上,您可以在etc/hadoop/capacity-scheduler.xml中定义队列,如下所示:

<property>
  <name>yarn.scheduler.capacity.root.prod.queues</name>
  <value>prod1,prod2</value>
  <description>Production queues.</description>
</property>

<property>
  <name>yarn.scheduler.capacity.root.test.queues</name>
  <value>test1,test2</value>
  <description>Test queues.</description>
</property>

请参阅此处的队列属性文档
注意:应用程序优先级仅与fifo顺序策略一起工作。默认的排序策略是fifo。
为了设置应用程序优先级,您可以向同一文件添加如下属性:

<property>
  <name>yarn.scheduler.capacity.root.test.default-application-priority</name>
  <value>10</value>
  <description>Test queues have low priority.</description>
</property>

<property>
  <name>yarn.scheduler.capacity.root.prod.default-application-priority</name>
  <value>90</value>
  <description>Production queues have high priority.</description>
</property>

请在此处查看有关应用程序优先级的更多信息
在运行时更改应用程序优先级:
如果要在运行时更改应用程序优先级,还可以使用如下cli:

yarn application -appId <ApplicationId> -updatePriority <Priority>

你能分享你在哪个节点上执行的命令和得到的响应吗?
在此处查看更多信息
使用yarnclient
您没有共享您的代码,因此很难看到您是否做对了。但是可以使用yarnclient提交具有特定优先级的新申请

ApplicationClientProtocol.submitApplication(SubmitApplicationRequest)

在此处查看更多信息

相关问题