

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 自訂 Amazon EMR 中叢集調整大小的佈建逾時期間
<a name="emr-provisioning-timeout-resize"></a>

針對叢集中的每個機群，定義佈建 Spot 執行個體的逾時期間。如果 Amazon EMR 無法佈建 Spot 容量，它會取消調整大小請求並停止嘗試佈建額外的 Spot 容量。建立叢集時，可設定逾時。對於執行中的叢集，可以新增或更新逾時。

逾時期間到期時，Amazon EMR 會自動將事件傳送到 Amazon CloudWatch Events 串流。透過 CloudWatch，可以根據指定模式建立符合事件的規則，並將事件傳送至目標以採取動作。例如，可設定傳送電子郵件通知的規則。如需如何建立規則的詳細資訊，請參閱 [使用 CloudWatch 建立 Amazon EMR 事件的規則](emr-events-cloudwatch-console.md)。如需不同事件詳情的詳細資訊，請參閱 [執行個體機群狀態變更事件](emr-manage-cloudwatch-events.md#emr-cloudwatch-instance-fleet-events)。

## 叢集調整大小的佈建逾時範例
<a name="emr-provisioning-timeout-examples"></a>

**使用 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,"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"}},"ResizeSpecifications":{"SpotResizeSpecification":{"TimeoutDurationMinutes":20},"OnDemandResizeSpecification":{"TimeoutDurationMinutes":25}},"InstanceTypeConfigs":[{"WeightedCapacity":1,"EbsConfiguration":{"EbsBlockDeviceConfigs":[{"VolumeSpecification":{"SizeInGB":32,"VolumeType":"gp2"},"VolumesPerInstance":2}]},"BidPriceAsPercentageOfOnDemandPrice":1,"InstanceType":"m5.xlarge"}],"Name":"Core - 2"}]'
```

下列範例使用 `modify-instance-fleet` 命令來新增調整大小的佈建逾時。

```
aws emr modify-instance-fleet \
--cluster-id j-XXXXXXXXXXXXX \
--instance-fleet '{"InstanceFleetId":"if-XXXXXXXXXXXX","ResizeSpecifications":{"SpotResizeSpecification":{"TimeoutDurationMinutes":30},"OnDemandResizeSpecification":{"TimeoutDurationMinutes":60}}}' \
--region us-east-1
```

下列範例使用 `add-instance-fleet-command` 來新增調整大小的佈建逾時。

```
aws emr add-instance-fleet \
--cluster-id j-XXXXXXXXXXXXX \
--instance-fleet '{"InstanceFleetType":"TASK","TargetOnDemandCapacity":1,"TargetSpotCapacity":0,"InstanceTypeConfigs":[{"WeightedCapacity":1,"EbsConfiguration":{"EbsBlockDeviceConfigs":[{"VolumeSpecification":{"SizeInGB":32,"VolumeType":"gp2"},"VolumesPerInstance":2}]},"BidPriceAsPercentageOfOnDemandPrice":100,"InstanceType":"m5.xlarge"}],"Name":"TaskFleet","ResizeSpecifications":{"SpotResizeSpecification":{"TimeoutDurationMinutes":30},"OnDemandResizeSpecification":{"TimeoutDurationMinutes":35}}}' \
--region us-east-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"}},"ResizeSpecifications":{"SpotResizeSpecification":{"TimeoutDurationMinutes":20},"OnDemandResizeSpecification":{"TimeoutDurationMinutes":25}},"InstanceTypeConfigs":[{"WeightedCapacity":1,"EbsConfiguration":{"EbsBlockDeviceConfigs":[{"VolumeSpecification":{"SizeInGB":32,"VolumeType":"gp2"},"VolumesPerInstance":2}]},"BidPriceAsPercentageOfOnDemandPrice":1,"InstanceType":"m5.xlarge"}],"Name":"Core - 2"}]'
```

## 調整大小佈建逾時的注意事項
<a name="emr-provisioning-timeout-considerations"></a>

如果為執行個體機群設定叢集佈建逾時，請考慮下列行為。
+ 可以為 Spot 執行個體和隨需執行個體設定佈建逾時。佈建逾時下限為 5 分鐘。佈建逾時上限為 7 天。
+ 只能為使用執行個體機群的 EMR 叢集設定佈建逾時。必須單獨設定每個核心和任務機群。
+ 建立叢集時，可設定佈建逾時。可以為執行中的叢集新增逾時或更新現有逾時。
+ 如果您提交多個調整大小操作，則 Amazon EMR 會追蹤每個調整大小操作的佈建逾時。例如，將叢集的佈建逾時設定為 *60* 分鐘。然後，在 *T1* 時間提交調整大小操作 *R1*。在 *T2* 時間提交第二個調整大小操作 *R2*。R1 的佈建逾時會在 *T1 \$1 60 分鐘*到期。R2 的佈建逾時會在 *T2 \$1 60 分鐘*到期。
+ 如果在逾時到期之前提交新的縱向擴展調整大小操作，Amazon EMR 會繼續嘗試為您的 EMR 叢集佈建容量。