Hadoop (EMR) Cluster Fair Scheduler 正在完成 FIFO 而不是并行

Hadoop (EMR) Cluster Fair Scheduler is completing FIFO instead of in Parallel

这是我第一次尝试配置 YARN 调度程序,它没有像我希望的那样工作。该集群最初以 FIFO 的形式工作,我正在尝试将作业并行处理到 运行。我已经在纱线的顶部添加了-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 控制台仅显示一个作业 运行ning 和其他两个待处理。此外,YARN 控制台仅在队列 root.hadoop 中显示一个作业 运行ning 并且看不到其他作业(之后将 运行一个完成)。

那么我怎样才能并行地获得作业到 运行?

通过 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/.