Personalizar un periodo de tiempo de espera de aprovisionamiento para el cambio de tamaño del clúster en Amazon EMR - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Personalizar un periodo de tiempo de espera de aprovisionamiento para el cambio de tamaño del clúster en Amazon EMR

Puede definir un periodo de tiempo de espera para aprovisionar instancias de spot para cada flota del clúster. Si Amazon EMR no puede aprovisionar la capacidad de spot, cancela la solicitud de cambio de tamaño y detiene los intentos de aprovisionar capacidad de spot adicional. Al crear un clúster, puede configurar el tiempo de espera. Para un clúster en ejecución, puede agregar o actualizar un tiempo de espera.

Cuando vence el tiempo de espera, Amazon EMR envía automáticamente los eventos a una transmisión de CloudWatch Amazon Events. Con él CloudWatch, puede crear reglas que coincidan con los eventos de acuerdo con un patrón específico y, a continuación, enrutar los eventos a los objetivos para que actúen. Por ejemplo, puede configurar una regla para enviar una notificación por correo electrónico. Para obtener más información sobre cómo crear reglas, consulte Creación de reglas para eventos de Amazon EMR con CloudWatch. Para obtener más información sobre los diferentes detalles de eventos, consulte Eventos de cambio de estado de la flota de instancias.

Ejemplos de tiempos de espera de aprovisionamiento agotados para cambiar el tamaño del clúster

Especificar un tiempo de espera de aprovisionamiento para el cambio de tamaño con la AWS CLI

En el siguiente ejemplo, se utiliza el comando create-cluster para agregar un tiempo de espera de aprovisionamiento para cambiar el tamaño.

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

En el siguiente ejemplo, se utiliza el comando modify-instance-fleet para agregar un tiempo de espera de aprovisionamiento para cambiar el tamaño.

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

En el siguiente ejemplo, se utiliza add-instance-fleet-command para agregar un tiempo de espera de aprovisionamiento para cambiar el tamaño.

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

Especifique un tiempo de espera de aprovisionamiento para cambiar el tamaño y lanzarlo con AWS CLI

En el siguiente ejemplo, se utiliza el comando create-cluster para agregar un tiempo de espera de aprovisionamiento para cambiar el tamaño y realizar el lanzamiento.

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

Consideraciones para los tiempos de espera de aprovisionamiento para el cambio de tamaño

Al configurar los tiempos de espera de aprovisionamiento del clúster para las flotas de instancias, tenga en cuenta los siguientes comportamientos.

  • Puede configurar tiempos de espera de aprovisionado para instancias de spot y bajo demanda. El tiempo de espera mínimo de aprovisionamiento es de 5 minutos. El tiempo de espera máximo de aprovisionamiento es de 7 días.

  • Solo puede configurar los tiempos de espera de aprovisionamiento para un clúster de EMR que utilice flotas de instancias. Debe configurar cada núcleo y cada flota de tareas por separado.

  • Al crear un clúster, puede configurar los tiempos de espera de aprovisionamiento. Puede agregar un tiempo de espera o actualizar uno existente para un clúster en ejecución.

  • Si envía varias operaciones de cambio de tamaño, Amazon EMR realiza un seguimiento de los tiempos de espera de aprovisionamiento para cada operación de cambio de tamaño. Por ejemplo, establezca el tiempo de espera de aprovisionamiento en un clúster en minutos. 60 A continuación, envíe una operación de cambio de tamaño cada vez. R1 T1 Realice una segunda operación de cambio de tamaño cada R2 vez. T2 El tiempo de espera de aprovisionamiento para R1 vence a las. T1 + 60 minutes El tiempo de espera de aprovisionamiento para R2 vence a las. T2 + 60 minutes

  • Si envía una nueva operación de aumento de tamaño de escalado vertical antes de que se agote el tiempo de espera, Amazon EMR continúa intentando aprovisionar capacidad para su clúster de EMR.