本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
向 Amazon 提交工作时并行运行多个步骤的注意事项 EMR
当您向 Amazon 提交工作时,并行运行多个步骤EMR需要对资源规划和对集群行为的期望做出初步决定。这里将详细介绍这些内容。
-
并行运行的步骤可以按任何顺序完成,但队列中的待处理步骤要按照它们提交的顺序转换为运行状态。
-
为集群选择步骤并发级别时,必须考虑主节点实例类型是否满足用户工作负载的内存要求。主步骤执行程序进程在每个步骤的主节点上运行。与一次运行一个步骤相比,并行运行多个步骤需要主节点更多的内存和CPU利用率。
-
要实现复杂的计划和并发步骤的资源管理,您可以使用YARN计划功能,例如
FairScheduler
或CapacityScheduler
。例如,您可以将FairScheduler
与queueMaxAppsDefault
集合一起使用,以防止一次运行超过特定数量的作业。 -
步骤并发级别取决于资源管理器的配置。例如,如果YARN配置的并行度仅为
5
,则即使设置StepConcurrencyLevel
为,也只能让五个YARN应用程序并行运行。10
有关配置资源管理器的更多信息,请参阅 Amazon EMR 发行指南中的配置应用程序。 -
当集群的步骤并发级别大于 1 CONTINUE 时,您不能使用
ActionOnFailure
其他步骤添加其他步骤。 -
如果集群的步骤并发级别大于 1,步骤
ActionOnFailure
功能将不会激活。 -
如果集群的步骤并发级别为
1
但有多个运行步骤,则TERMINATE_CLUSTER ActionOnFailure
可能会激活,但CANCEL_AND_WAIT ActionOnFailure
不会。当集群步骤并发级别大于一时会出现这种边缘情况,但在运行多个步骤时会减少发生该情况。 -
您可以根据YARN资源使用EMR自动缩放来扩大和缩小规模,以防止资源争用。有关更多信息,请参阅 Amazon EMR 管理指南中的通过自定义策略为实例组使用自动扩展。
-
降低步骤并发级别时,EMR允许所有正在运行的步骤在减少步骤数之前完成。如果资源因集群运行的并发步骤太多而耗尽,我们建议手动取消所有正在运行的步骤以释放资源。