

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

# EMR Serverless 应用程序的作业并发和排队
<a name="applications-concurrency-queuing"></a>

从 Amazon EMR 7.0.0 及更高版本开始，请为应用程序指定作业运行队列超时和并发配置。指定此配置后，Amazon EMR Serverless 会根据应用程序的并发利用率排队等候作业并开始执行。例如，如果作业运行并发数为 10，则应用程序一次只能运行 10 个作业。剩余的作业排队，直到其中一个正在运行的作业终止。如果队列超时时间提前到达，则作业超时。有关更多信息，请参阅[作业运行状态](job-states.html)。

## 并发和排队的主要好处
<a name="applications-concurrency-key-benefits"></a>

当需要提交大量作业时，作业并发和排队具有以下好处：
+ 有助于控制并发执行的作业，从而有效利用应用程序级别的容量限制。
+ 队列可能包含突发的作业提交，具有可配置的超时设置。

## 并发和排队入门
<a name="applications-concurrency-getting-started"></a>

以下过程展示了实现并发和排队的几种不同方法。

**使用 AWS CLI**

1. 创建具有队列超时和并发作业运行的 Amazon EMR Serverless 应用程序：

   ```
   aws emr-serverless create-application \
   --release-label emr-7.0.0 \
   --type SPARK \
   --scheduler-configuration '{"maxConcurrentRuns": 1, "queueTimeoutMinutes": 30}'
   ```

1. 更新应用程序以更改作业队列超时和并发：

   ```
   aws emr-serverless update-application \
   --application-id application-id \
   --scheduler-configuration '{"maxConcurrentRuns": 5, "queueTimeoutMinutes": 30}'
   ```
**注意**  
您可以更新现有应用程序以启用作业并发和排队。为此，应用程序的发行版标签必须为 *emr-7.0.0* 或更高版本。

**使用 AWS 管理控制台**

以下步骤展示了如何使用 AWS 管理控制台开始作业并发和排队：

1. 前往 EMR Studio，选择创建一个发行版标签为 EMR-7.0.0 或更高版本的应用程序。

1. 在**应用程序设置选项**下，选择**使用自定义设置**选项。

1. 在**其他配置**下，有一个**作业运行设置**部分。选择**启用作业并发**选项以启用该功能。

1. 选择后，请选择**并发作业运行**和**队列超时**，分别配置并发作业运行的数量和队列超时。如果没有为这些设置输入值，则使用默认值。

1. 选择**创建应用程序**，将在启用此功能的情况下创建应用程序。要进行验证，请转到控制面板，选择应用程序，然后在“属性”选项卡下检查，以确定该功能是否已启用。

配置后，请在启用此功能的情况下提交作业。

## 并发和排队注意事项
<a name="applications-concurrency-considerations"></a>

在实现并发和排队时，请注意以下几点：
+ Amazon EMR 7.0.0 及更高版本支持作业并发和排队。
+ Amazon EMR 7.3.0 及更高版本默认启用作业并发和排队。
+ 您无法更新处于**已启动**状态的应用程序并发。
+ `maxConcurrentRuns` 的有效范围为 1 到 1000，`queueTimeoutMinutes` 的有效范围为 15 到 720。
+ 一个账户最多可以有 2000 个作业处于**已排队**状态。
+ 并发和排队适用于批处理和流处理作业。不能用于交互式作业。有关更多信息，请参阅[通过 EMR Studio 使用 EMR Serverless 运行交互式工作负载](interactive-workloads.html)。