【问题标题】:"Application priority" in YarnYarn 中的“应用优先级”
【发布时间】:2018-02-07 21:59:08
【问题描述】:

我正在使用 Hadoop 2.9.0。是否可以在 YARN 中提交具有不同优先级的作业?根据一些 JIRA 票证,似乎现在已经实施了应用程序优先级。

我尝试使用YarnClient,并在提交作业之前将优先级设置为ApplicationSubmissionContext。我还尝试使用 CLI 并使用 updateApplicationPriority。但是,似乎没有什么改变应用程序的优先级,它始终保持为 0。

我是否误解了 YARN 的 ApplicationPriority 的概念?我看到了一些关于为队列设置优先级的文档,但是对于我的用例,我需要一个队列中的所有作业。

如果对我的理解有任何澄清,或对我可能做错的地方提出建议,我将不胜感激。

谢谢。

【问题讨论】:

    标签: hadoop hadoop-yarn


    【解决方案1】:

    是的,可以在 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>
    

    查看队列属性文档here

    注意:应用程序优先级仅适用于 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>
    

    查看更多关于应用优先级的信息here

    在运行时更改应用程序优先级:
    如果您想在运行时更改应用程序优先级,您也可以像这样使用 CLI:

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

    你能分享一下你在哪个节点上执行了什么命令,得到了什么响应吗?

    查看更多信息here

    使用 YarnClient
    你没有分享你的代码,所以很难看出你是否做对了。但是可以使用 YarnClient 提交具有特定优先级的新应用程序

    ApplicationClientProtocol.submitApplication(SubmitApplicationRequest)
    

    查看更多信息here

    【讨论】:

    • 我的用例不适用于多个队列。我希望 same 队列中有不同优先级的工作。我尝试了你写的所有东西,但它对我不起作用,我想主要是因为我需要一个队列中的所有东西。我认为 YARN 不支持这一点,因此为此编写了一个外部解决方法。尽管如此,还是感谢您的帮助。
    猜你喜欢
    • 2018-09-20
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 2012-02-24
    相关资源
    最近更新 更多