hadoop(emr)集群公平调度程序正在完成fifo而不是并行

hi3rlvi2  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(438)

这是我第一次尝试配置Yarn调度程序,它不是我希望的工作。集群最初是作为fifo工作的,我正在尝试让作业并行运行。我已经添加到yarn-site.xml的顶部

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

  <property>
    <name>yarn.scheduler.fair.allocation.file</name>
    <value>/etc/hadoop/conf.empty/fair-scheduler.xml</value>  
  </property>

然后添加了文件/etc/hadoop/conf.empty/fair-scheduler.xml:

<allocations>
    <queue name="root">
        <weight>1.0</weight>
        <schedulingPolicy>fair</schedulingPolicy>
        <aclSubmitApps> </aclSubmitApps>
        <aclAdministerApps>*</aclAdministerApps>
    </queue>
    <defaultQueueSchedulingPolicy>fair</defaultQueueSchedulingPolicy>
    <queuePlacementPolicy>
        <rule name="specified" create="true"/>
        <rule name="user" create="true"/>
    </queuePlacementPolicy>
</allocations>

所以在这之后,我停止并启动了yarn资源管理器,我在yarn应用程序控制台上看到了fair scheduler!但是当尝试在集群上运行多个作业时,aws emr控制台只显示一个正在运行的作业和另外两个挂起的作业。此外,yarn控制台只显示在queue root.hadoop中运行的一个作业,看不到其他作业(将在该作业完成后运行)。
那么我怎样才能让这些工作并行运行呢?

roejwanj

roejwanj1#

通过yarn-site.xml设置调度程序实际上是可行的。如果调出yarn资源管理器,调度程序实际上会显示更改,但问题是在提交aws emr步骤时。emr步骤天生是按顺序运行的,这意味着aws在上一个步骤完成之前不会将下一个作业提交给yarn。因此,一个人必须提交的工作,直接向Yarn看到的好处;然而,emr的步骤最近似乎有所改变。如果使用emr版本5.28.0,aws emr现在支持并行步骤执行:https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-emr-now-allows-you-to-run-multiple-steps-in-parallel-cancel-running-steps-and-integrate-with-aws-step-functions/.

相关问题