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



这是我第一次尝试配置 YARN 调度程序,它没有像我希望的那样工作。集群最初作为 FIFO 工作,我正在尝试让作业并行运行。我已经添加到纱线网站的顶部.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应用程序控制台上看到了公平调度程序!但是,当尝试在集群上运行多个作业时,AWS EMR 控制台仅显示一个作业正在运行,另外两个作业处于挂起状态。此外,YARN 控制台仅显示队列 root.hadoop 中运行的一个作业,并且看不到其他作业(将在该作业完成后运行)。

那么,如何让作业并行运行呢?

通过 yarn-site 设置调度程序.xml实际上确实有效。如果您拉起 YARN 资源管理器,计划程序实际上会显示更改,但问题是在提交 AWS EMR 步骤时。EMR 步骤本质上是按顺序运行的,这意味着在上一步完成之前,AWS 不会将下一个作业提交到 YARN。因此,必须将工作直接提交给 Yarn 才能看到好处;然而,EMR步骤最近似乎发生了变化。如果使用 EMR 版本 5.28.0: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/,AWS EMR 现在支持并行步骤执行。

相关内容

  • 没有找到相关文章

最新更新