Amazon EMR에서 클러스터 크기 조정에 대한 프로비저닝 제한 시간 사용자 지정 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EMR에서 클러스터 크기 조정에 대한 프로비저닝 제한 시간 사용자 지정

클러스터의 각 플릿에 스팟 인스턴스를 프로비저닝하는 제한 시간을 정의할 수 있습니다. Amazon EMR이 스팟 용량을 프로비저닝할 수 없는 경우 크기 조정 요청을 취소하고 추가 스팟 용량을 프로비저닝하려는 시도를 중지합니다. 클러스터를 생성할 때 제한 시간을 구성할 수 있습니다. 실행 중인 클러스터의 경우 제한 시간을 추가하거나 업데이트할 수 있습니다.

제한 시간이 만료되면 Amazon EMR은 Amazon 이벤트 스트림으로 이벤트를 자동으로 전송합니다. CloudWatch 를 사용하면 지정된 패턴에 따라 이벤트와 일치하는 규칙을 생성한 다음 이벤트를 대상으로 라우팅하여 조치를 취할 수 있습니다. CloudWatch 예를 들어 이메일 알림을 보내는 규칙을 구성할 수 있습니다. 규칙을 생성하는 방법에 대한 자세한 내용은 를 사용하여 Amazon EMR 이벤트에 대한 규칙 생성 CloudWatch 섹션을 참조하세요. 여러 이벤트 세부 정보에 대한 자세한 내용은 인스턴스 플릿 상태 변경 이벤트 섹션을 참조하세요.

클러스터 크기 조정에 대한 프로비저닝 제한 시간 예제

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"}]'

크기 조정 프로비저닝 제한 시간에 대한 고려 사항

인스턴스 플릿의 클러스터 프로비저닝 제한 시간을 구성할 때 다음 동작을 고려합니다.

  • 스팟 인스턴스와 온디맨드 인스턴스 모두에 대해 프로비저닝 제한 시간을 구성할 수 있습니다. 최소 프로비저닝 제한 시간은 5분입니다. 최대 프로비저닝 제한 시간은 7일입니다.

  • 인스턴스 플릿을 사용하는 EMR 클러스터의 프로비저닝 제한 시간만 구성할 수 있습니다. 각 코어 및 태스크 플릿은 개별적으로 구성해야 합니다.

  • 클러스터를 생성할 때 프로비저닝 제한 시간을 구성할 수 있습니다. 실행 중인 클러스터의 제한 시간을 추가하거나 기존 제한 시간을 업데이트할 수 있습니다.

  • 크기 조정 작업을 여러 번 제출하는 경우 Amazon EMR은 모든 크기 조정 작업에 대한 프로비저닝 제한 시간을 추적합니다. 예를 들어 클러스터의 프로비저닝 제한 시간을 60분으로 설정합니다. 그런 다음, 시간 T1에 크기 조정 작업 R1을 제출합니다. 시간 T2에 두 번째 크기 조정 작업 R2를 제출합니다. R1의 프로비저닝 제한 시간은 T1 이후 60분이 지나면 만료됩니다. R2의 프로비저닝 제한 시간은 T2 이후 60분이 지나면 만료됩니다.

  • 제한 시간이 만료되기 전에 새로운 스케일 업 크기 조정 작업을 제출하면 Amazon EMR은 EMR 클러스터에 용량을 프로비저닝하기 위한 시도를 계속합니다.