并行运行多个步骤的注意事项 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

并行运行多个步骤的注意事项

  • 并行运行的步骤可以按任何顺序完成,但队列中的待处理步骤要按照它们提交的顺序转换为运行状态。

  • 为集群选择步骤并发级别时,必须考虑主节点实例类型是否满足用户工作负载的内存要求。主步骤执行程序进程在每个步骤的主节点上运行。与一次运行一个步骤相比,并行运行多个步骤需要主节点更多的内存和CPU利用率。

  • 要实现复杂的计划和并发步骤的资源管理,您可以使用YARN计划功能,例如FairSchedulerCapacityScheduler。例如,您可以将 FairSchedulerqueueMaxAppsDefault 集合一起使用,以防止一次运行超过特定数量的作业。

  • 步骤并发级别取决于资源管理器的配置。例如,如果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允许所有正在运行的步骤在减少步骤数之前完成。如果资源因集群运行的并发步骤太多而耗尽,我们建议手动取消所有正在运行的步骤以释放资源。