并行运行EMR

rah*_*hul 6 web-services amazon-web-services amazon-emr apache-spark

我在EMR集群上运行一个火花作业,我面临的问题是

触发的EMR作业正在逐步执行(在队列中)

有没有办法使它们并行运行,如果没有任何改动

小智 4

Elastic MapReduce 默认情况下采用非常面向“步骤”的 YARN 设置,其中单个 CapacityScheduler 队列分配了 100% 的集群资源。由于此配置,每当您向 EMR 集群提交作业时,YARN 都会最大限度地提高该单个作业的集群使用率,向其授予所有可用资源,直到作业完成。

在 EMR 集群(或实际上任何其他基于 YARN 的 Hadoop 集群)中运行多个并发作业需要具有多个队列的正确 YARN 设置,以便为每个作业正确分配资源。YARN 的文档对所有容量调度程序功能都非常好,而且听起来更简单。

YARN 的 FairScheduler 非常流行,但它使用不同的方法,并且根据您的需求配置可能会有点困难。假设有一个公平队列的最简单场景,一旦运行作业释放了正在等待的作业,YARN 就会尝试将容器授予给等待作业,从而确保提交到集群的所有作业尽快获得至少一部分计算资源因为它们可用。