

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

# 在 Amazon EMR 中为集群启动预调配超时
<a name="emr-provisioning-timeout-launch"></a>

您可以为集群中的每个实例集定义预调配竞价型实例的超时期限。如果 Amazon EMR 无法预调配 Spot 容量，您可以改为选择终止集群或预调配按需容量。如果超时期限在集群大小调整过程中结束，则 Amazon EMR 将取消未预调配的 Spot 请求。未预调配的竞价型实例不会转移到按需容量。

执行以下步骤，自定义使用 Amazon EMR 控制台启动集群的预调配超时期限。

------
#### [ Console ]

**使用控制台创建集群时配置预置超时**

1. [登录 AWS 管理控制台，然后在 /emr 上打开亚马逊 EMR 控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/emr)

1. 在左侧导航窗格中的 **EMR on EC2** 下，选择 **Clusters**（集群），然后选择 **Create cluster**（创建集群）。

1. 在**创建集群**页面上，导航到**集群配置**并选择**实例集**。

1. 在**集群扩展和预调配选项**下，为您的核心和任务实例集指定 Spot 大小。

1. 在 **Spot 超时配置**下，选择**在 Spot 超时后终止集群**或**在 Spot 超时后切换到按需**。然后，指定预调配竞价型实例的超时期限。默认值为 1 小时。

1. 选择适用于集群的任何其他选项。

1. 要启动具有已配置超时的集群，选择**创建集群**。

------
#### [ AWS CLI ]

**要使用 `create-cluster` 命令指定预调配超时**

```
aws emr create-cluster \
--release-label emr-5.35.0 \
--service-role EMR_DefaultRole \
--ec2-attributes '{"InstanceProfile":"EMR_EC2_DefaultRole","SubnetIds":["subnet-XXXXX"]}' \
--instance-fleets '[{"InstanceFleetType":"MASTER","TargetOnDemandCapacity":1,"TargetSpotCapacity":0,"LaunchSpecifications":{"OnDemandSpecification":{"AllocationStrategy":"lowest-price"}},"InstanceTypeConfigs":[{"WeightedCapacity":1,"EbsConfiguration":{"EbsBlockDeviceConfigs":[{"VolumeSpecification":{"SizeInGB":32,"VolumeType":"gp2"},"VolumesPerInstance":2}]},"BidPriceAsPercentageOfOnDemandPrice":100,"InstanceType":"m5.xlarge"}],"Name":"Master - 1"},{"InstanceFleetType":"CORE","TargetOnDemandCapacity":1,"TargetSpotCapacity":1,"LaunchSpecifications":{"SpotSpecification":{"TimeoutDurationMinutes":120,"TimeoutAction":"SWITCH_TO_ON_DEMAND"},"OnDemandSpecification":{"AllocationStrategy":"lowest-price"}},"InstanceTypeConfigs":[{"WeightedCapacity":1,"EbsConfiguration":{"EbsBlockDeviceConfigs":[{"VolumeSpecification":{"SizeInGB":32,"VolumeType":"gp2"},"VolumesPerInstance":2}]},"BidPriceAsPercentageOfOnDemandPrice":1,"InstanceType":"m5.xlarge"}],"Name":"Core - 2"}]'
```

------