我在EMR集群上运行一个火花工作,我面临的问题就是全部
EMR jobs triggered are executing in steps (in queue)
有没有办法使它们并行运行
如果没有,那就有任何改变
最佳答案 弹性MapReduce默认情况下是YARN设置非常“步骤”导向,具有单个CapacityScheduler队列,其中分配了100%的集群资源.由于此配置,每次向EMR集群提交作业时,YARN都会最大化该单个作业的集群使用情况,并为其授予所有可用资源,直到完成为止.
在EMR集群(或任何其他基于YARN的Hadoop集群)中运行多个并发作业需要使用多个队列进行正确的YARN设置,以便为每个作业正确授予资源. YARN的文档非常适用于所有Capacity Scheduler功能,听起来更简单.
YARN的FairScheduler非常受欢迎,但它使用了不同的方法,根据您的需要可能会更难配置.鉴于您拥有单个Fair队列的最简单方案,YARN将尝试通过运行作业释放容器来等待等待作业,确保提交到群集的所有作业尽快获得至少一小部分计算资源因为它们可用.