这是我第一次尝试配置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应用控制台上看到了 Fair Scheduler !但是,当尝试在群集上运行多个作业时,AWS EMR控制台只显示一个正在运行的作业,另外两个正在等待处理。此外,YARN控制台只显示队列中运行的一个作业 root.hadoop ,并且看不到其他作业(将在该作业完成后运行)。
那么如何让作业并行运行呢?