Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Ein Bereitstellungs-Timeout für den Cluster-Start in Amazon EMR anpassen
Definieren Sie einen Timeout-Zeitraum für die Bereitstellung von Spot Instances für jede Flotte in Ihrem Cluster. Wenn Amazon EMR die Spot-Kapazität nicht bereitstellen kann, storniert es die Größenänderungsanforderung und beendet seine Versuche, zusätzliche Spot-Kapazität bereitzustellen. Wenn Sie einen Cluster erstellen, können Sie das Timeout konfigurieren. Für einen laufenden Cluster können Sie ein Timeout hinzufügen oder aktualisieren.
Wenn der Timeout-Zeitraum abläuft, sendet Amazon EMR automatisch Ereignisse an einen Amazon Events-Stream. CloudWatch Mit können Sie Regeln erstellen CloudWatch, die Ereignisse nach einem bestimmten Muster zuordnen, und die Ereignisse dann an Ziele weiterleiten, um Maßnahmen zu ergreifen. Sie können beispielsweise eine Regel zum Senden einer E-Mail-Benachrichtigung konfigurieren. Weitere Informationen zum Erstellen von Regeln finden Sie unter Erstellen von Regeln für Amazon EMR-Ereignisse mit CloudWatch. Weitere Informationen zu verschiedenen Ereignisdetails finden Sie unter Ereignisse zur Änderung des Status der Instance-Flotte.
Beispiele für Bereitstellungs-Timeouts bei der Clustergrößenänderung
Geben Sie ein Bereitstellungs-Timeout für die Größenänderung mit dem AWS CLI an
Im folgenden Beispiel wird der create-cluster-Befehl verwendet, um ein Bereitstellungs-Timeout für die Größenänderung hinzuzufügen.
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"}]'
Im folgenden Beispiel wird der modify-instance-fleet-Befehl verwendet, um ein Bereitstellungs-Timeout für die Größenänderung hinzuzufügen.
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
Im folgenden Beispiel wird der add-instance-fleet-command verwendet, um ein Bereitstellungs-Timeout für die Größenänderung hinzuzufügen.
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
Geben Sie ein Provisioning-Timeout für die Größenänderung und den Start mit dem AWS CLI
Im folgenden Beispiel wird der create-cluster-Befehl verwendet, um ein Bereitstellungs-Timeout für die Größenänderung hinzuzufügen.
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"}]'
Überlegungen zur Größenänderung von Bereitstellungs-Timeouts
Wenn Sie Timeouts für die Cluster-Bereitstellung für Ihre Instanceflotten konfigurieren, sollten Sie die folgenden Verhaltensweisen berücksichtigen.
-
Sie können Provisioning-Timeouts sowohl für Spot als auch für Instances konfigurieren. On-Demand Das Mindestzeitlimit für die Bereitstellung beträgt 5 Minuten. Das maximale Bereitstellungszeitlimit beträgt 7 Tage.
-
Sie können Bereitstellungs-Zeitlimit nur für einen EMR-Cluster konfigurieren, der Instance-Flotten verwendet. Sie müssen jeden Core und jede Aufgaben-Flotte separat konfigurieren.
-
Wenn Sie einen Cluster erstellen, können Sie Bereitstellungs-Zeitlimits konfigurieren. Sie können ein Zeitlimit für einen laufenden Cluster hinzufügen oder ein vorhandenes Zeitlimit aktualisieren.
-
Wenn Sie mehrere Größenänderungsvorgänge einreichen, verfolgt Amazon EMR die Bereitstellungs-Timeouts für jeden Größenänderungsvorgang. Stellen Sie beispielsweise das Bereitstellungs-Timeout in einem Cluster auf Minuten ein.
60Senden Sie dann jeweils einen VorgangR1zur Größenänderung durch.T1Reichen Sie jeweils einen zweiten VorgangR2zur Größenänderung ein.T2Das Bereitstellungs-Timeout für R1 läuft am ab.T1 + 60 minutesDas Bereitstellungs-Timeout für R2 läuft am ab.T2 + 60 minutes -
Wenn Sie vor Ablauf des Timeouts einen neuen Vorgang zur Skalierung der Größe einreichen, versucht Amazon EMR weiterhin, Kapazität für Ihren EMR-Cluster bereitzustellen.