Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizza le prenotazioni di capacità con flotte di istanze in Amazon EMR
Per avviare parchi istanze on demand con opzioni di prenotazione della capacità, allega autorizzazioni aggiuntive per il ruolo di servizio necessarie per utilizzare le opzioni di prenotazione della capacità. Poiché le opzioni di prenotazione della capacità devono essere utilizzate insieme alla strategia di allocazione on demand, è necessario includere anche le autorizzazioni necessarie per la strategia di allocazione nel ruolo di servizio e nella policy gestita. Per ulteriori informazioni, consulta Autorizzazioni della strategia di allocazione.
Amazon EMR supporta prenotazioni di capacità aperte e mirate. Negli argomenti seguenti vengono illustrate le configurazioni dei gruppi di istanze che è possibile utilizzare con l'operazione RunJobFlow
o il comando create-cluster
per avviare parchi istanze mediante prenotazioni della capacità on demand.
Utilizzo delle prenotazioni della capacità aperte in base al miglior tentativo
Se le istanze on demand del cluster corrispondono agli attributi delle prenotazioni di capacità aperta (tipo di istanza, piattaforma, tenancy e zona di disponibilità) disponibili nell'account, le prenotazioni di capacità vengono applicate automaticamente. Tuttavia, non è garantito che le prenotazioni di capacità verranno utilizzate. Per il provisioning del cluster, Amazon EMR valuta tutti i pool di istanze specificati nella richiesta di avvio e utilizza quello con il prezzo più basso che ha una capacità sufficiente per avviare tutti i nodi principali richiesti. Le prenotazioni della capacità aperte disponibili che corrispondono al pool di istanze vengono applicate automaticamente. Se le prenotazioni della capacità aperte disponibili non corrispondono al pool di istanze, rimangono inutilizzate.
Una volta eseguito il provisioning dei nodi principali, la zona di disponibilità viene selezionata e risolta. Amazon effettua il EMR provisioning dei task node nei pool di istanze, a partire da quelli con il prezzo più basso, nella zona di disponibilità selezionata fino al provisioning di tutti i task node. Le prenotazioni della capacità aperte disponibili che corrispondono al pool di istanze vengono applicate automaticamente.
Di seguito sono riportati i casi d'uso della logica di allocazione della EMR capacità di Amazon per l'utilizzo ottimale delle prenotazioni di capacità aperta.
Esempio 1: il pool di istanze a prezzo più basso nella richiesta di avvio dispone di prenotazioni della capacità aperte disponibili
In questo caso, Amazon EMR lancia la capacità nel pool di istanze con il prezzo più basso con le istanze On-Demand. Le prenotazioni della capacità aperte disponibili in quel pool di istanze vengono utilizzate automaticamente.
Strategia on-demand | lowest-price | ||
Capacità richiesta | 100 | ||
Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
Prenotazioni della capacità aperte disponibili | 150 | 100 | 100 |
Prezzo su richiesta | $ | $$ | $$$ |
Istanze con provisioning | 100 | - | - |
---|---|---|---|
Prenotazione della capacità aperta utilizzata | 100 | - | - |
Prenotazioni della capacità aperte disponibili | 50 | 100 | 100 |
Dopo l'avvio del parco istanze, puoi eseguire describe-capacity-reservations
per vedere quante prenotazioni di capacità sono rimaste inutilizzate.
Esempio 2: il pool di istanze a prezzo più basso nella richiesta di avvio non dispone di prenotazioni della capacità aperte disponibili
In questo caso, Amazon EMR lancia la capacità nel pool di istanze con il prezzo più basso con le istanze On-Demand. Tuttavia, le prenotazioni della capacità aperte rimangono inutilizzate.
Strategia on-demand | lowest-price | ||
Capacità richiesta | 100 | ||
Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
Prenotazioni della capacità aperte disponibili |
- | - | 100 |
Prezzo su richiesta | $ | $$ | $$$ |
Istanze con provisioning | 100 | - | - |
---|---|---|---|
Prenotazione della capacità aperta utilizzata | - | - | - |
Prenotazioni della capacità aperte disponibili | - | - | 100 |
Configurazione dei parchi istanze per utilizzare le prenotazioni della capacità aperte in base al miglior tentativo
Quando utilizzi l'operazione RunJobFlow
per creare un cluster basato sul parco istanze, imposta la strategia di allocazione on demand lowest-price
e CapacityReservationPreference
per le opzioni di prenotazione di capacità su open
. In alternativa, se lasci vuoto questo campo, Amazon imposta per EMR impostazione predefinita la preferenza di prenotazione della capacità dell'istanza On-Demand su. open
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "CapacityReservationPreference": "open" } } }
Puoi anche utilizzare Amazon EMR CLI per creare un cluster basato su una flotta di istanze utilizzando prenotazioni a capacità aperta.
aws emr create-cluster \ --name 'open-ODCR-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={CapacityReservationPreference=open}}'}
Dove,
-
open-ODCR-cluster
viene sostituito con il nome del cluster che utilizza le prenotazioni della capacità aperte. -
subnet-22XXXX01
viene sostituito con l'ID della sottorete.
Usa prima le prenotazioni della capacità aperte
Puoi scegliere di sostituire la strategia di allocazione del prezzo più basso e dare priorità utilizzando le prenotazioni di capacità aperta disponibili prima durante il provisioning di un cluster Amazon. EMR In questo caso, Amazon EMR valuta tutti i pool di istanze con prenotazioni di capacità specificate nella richiesta di avvio e utilizza quello con il prezzo più basso che ha una capacità sufficiente per avviare tutti i core node richiesti. Se nessuno dei pool di istanze con prenotazioni di capacità dispone di una capacità sufficiente per i nodi principali richiesti, Amazon EMR ricorre al caso best-effort descritto nell'argomento precedente. In altre parole, Amazon EMR rivaluta tutti i pool di istanze specificati nella richiesta di avvio e utilizza quello con il prezzo più basso che ha una capacità sufficiente per avviare tutti i core node richiesti. Le prenotazioni della capacità aperte disponibili che corrispondono al pool di istanze vengono applicate automaticamente. Se le prenotazioni della capacità aperte disponibili non corrispondono al pool di istanze, rimangono inutilizzate.
Una volta eseguito il provisioning dei nodi principali, la zona di disponibilità viene selezionata e risolta. Amazon effettua il EMR provisioning dei task node in pool di istanze con prenotazioni di capacità, a partire da quelli con il prezzo più basso, nella zona di disponibilità selezionata fino al provisioning di tutti i task node. Amazon EMR utilizza innanzitutto le prenotazioni di capacità aperta disponibili in ogni pool di istanze nella zona di disponibilità selezionata e, solo se necessario, utilizza la strategia del prezzo più basso per fornire i nodi di attività rimanenti.
Di seguito sono riportati i casi d'uso della logica di allocazione della EMR capacità di Amazon per utilizzare prima le prenotazioni di capacità aperta.
Esempio 1: il pool di istanze con prenotazioni della capacità aperte disponibili nella richiesta di avvio ha una capacità sufficiente per i nodi principali
In questo caso, Amazon EMR avvia la capacità nel pool di istanze con prenotazioni di capacità aperta disponibili indipendentemente dal prezzo del pool di istanze. Di conseguenza, le prenotazioni della capacità aperte vengono utilizzate quando possibile, fino a quando non viene eseguito il provisioning di tutti i nodi principali.
Strategia on-demand | lowest-price | ||
Capacità richiesta | 100 | ||
Strategia di utilizzo | use-capacity-reservations-first | ||
Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
Prenotazioni della capacità aperte disponibili | - | - | 150 |
Prezzo su richiesta | $ | $$ | $$$ |
Istanze con provisioning | - | - | 100 |
---|---|---|---|
Prenotazione della capacità aperta utilizzata | - | - | 100 |
Prenotazioni della capacità aperte disponibili | - | - | 50 |
Esempio 2: il pool di istanze con prenotazioni della capacità aperte disponibili nella richiesta di avvio non dispone di capacità sufficiente per i nodi principali
In questo caso, Amazon EMR torna a lanciare nodi principali utilizzando una strategia al prezzo più basso con il massimo impegno per utilizzare le prenotazioni di capacità.
Strategia on-demand | lowest-price | ||
Capacità richiesta | 100 | ||
Strategia di utilizzo | use-capacity-reservations-first | ||
Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
Prenotazioni della capacità aperte disponibili | 10 | 50 | 50 |
Prezzo su richiesta | $ | $$ | $$$ |
Istanze con provisioning | 100 | - | - |
---|---|---|---|
Prenotazione della capacità aperta utilizzata | 10 | - | - |
Prenotazioni della capacità aperte disponibili | - | 50 | 50 |
Dopo l'avvio del parco istanze, puoi eseguire describe-capacity-reservations
per vedere quante prenotazioni di capacità sono rimaste inutilizzate.
Configurazione dei parchi istanze per utilizzare prima le prenotazioni della capacità aperte
Quando utilizzi l'operazione RunJobFlow
per creare un cluster basato sul parco istanze, imposta la strategia di allocazione on-demand su lowest-price
e UsageStrategy
per CapacityReservationOptions
su use-capacity-reservations-first
.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } } }
Puoi anche utilizzare Amazon EMR CLI per creare un cluster basato sul parco istanze utilizzando prima le prenotazioni di capacità.
aws emr create-cluster \ --name 'use-CR-first-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={UsageStrategy=use-capacity-reservations-first}}'}
Dove,
-
use-CR-first-cluster
viene sostituito con il nome del cluster che utilizza le prenotazioni della capacità aperte. -
subnet-22XXXX01
viene sostituito con l'ID della sottorete.
Usa prima le prenotazioni della capacità mirate
Quando effettui il provisioning di un EMR cluster Amazon, puoi scegliere di ignorare la strategia di allocazione al prezzo più basso e dare priorità utilizzando prima le prenotazioni di capacità mirate disponibili. In questo caso, Amazon EMR valuta tutti i pool di istanze con prenotazioni di capacità mirate specificate nella richiesta di avvio e sceglie quello con il prezzo più basso che ha una capacità sufficiente per avviare tutti i core node richiesti. Se nessuno dei pool di istanze con prenotazioni di capacità mirate dispone di una capacità sufficiente per i nodi principali, Amazon EMR ricorre al modello best-effort descritto in precedenza. In altre parole, Amazon EMR rivaluta tutti i pool di istanze specificati nella richiesta di avvio e seleziona quello con il prezzo più basso che ha una capacità sufficiente per avviare tutti i core node richiesti. Le prenotazioni della capacità aperte disponibili che corrispondono al pool di istanze vengono applicate automaticamente. Tuttavia, le prenotazioni della capacità mirate rimangono inutilizzate.
Una volta eseguito il provisioning dei nodi principali, la zona di disponibilità viene selezionata e risolta. Amazon effettua il EMR provisioning dei task node in pool di istanze con prenotazioni di capacità mirate, a partire da quelli con il prezzo più basso, nella zona di disponibilità selezionata fino al provisioning di tutti i task node. Amazon EMR cerca innanzitutto di utilizzare le prenotazioni di capacità mirate disponibili in ogni pool di istanze nella zona di disponibilità selezionata. Quindi, solo se necessario, Amazon EMR utilizza la strategia del prezzo più basso per fornire i nodi di attività rimanenti.
Di seguito sono riportati i casi d'uso della logica di allocazione della EMR capacità di Amazon per utilizzare prima le prenotazioni di capacità mirate.
Esempio 1: il pool di istanze con prenotazioni della capacità mirate disponibili nella richiesta di avvio ha una capacità sufficiente per i nodi principali
In questo caso, Amazon EMR avvia la capacità nel pool di istanze con prenotazioni di capacità mirate disponibili indipendentemente dal prezzo del pool di istanze. Di conseguenza, le prenotazioni della capacità mirate vengono utilizzate quando possibile, fino a quando non viene eseguito il provisioning di tutti i nodi principali.
Strategia on-demand | lowest-price | ||
Strategia di utilizzo | use-capacity-reservations-first | ||
Capacità richiesta | 100 | ||
Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
Prenotazioni della capacità mirate disponibili | - | - | 150 |
Prezzo su richiesta | $ | $$ | $$$ |
Istanze con provisioning | - | - | 100 |
---|---|---|---|
Prenotazione della capacità mirata utilizzata | - | - | 100 |
Prenotazioni della capacità mirate disponibili | - | - | 50 |
Esempio 2: il pool di istanze con prenotazioni della capacità mirate disponibili nella richiesta di avvio non dispone di capacità sufficiente per i nodi principali
Strategia su richiesta | lowest-price | ||
Capacità richiesta | 100 | ||
Strategia di utilizzo | use-capacity-reservations-first | ||
Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
Prenotazioni della capacità mirate disponibili | 10 | 50 | 50 |
Prezzo su richiesta | $ | $$ | $$$ |
Istanze con provisioning | 100 | - | - |
---|---|---|---|
Prenotazioni della capacità mirate utilizzate | 10 | - | - |
Prenotazioni della capacità mirate disponibili | - | 50 | 50 |
Dopo l'avvio del parco istanze, puoi eseguire describe-capacity-reservations
per vedere quante prenotazioni di capacità sono rimaste inutilizzate.
Configurazione dei parchi istanze per utilizzare prima le prenotazioni della capacità mirate
Quando utilizzi l'operazione RunJobFlow
per creare un cluster basato sul parco istanze, imposta la strategia di allocazione on demand su lowest-price
, UsageStrategy
per CapacityReservationOptions
su use-capacity-reservations-first
e CapacityReservationResourceGroupArn
per CapacityReservationOptions
su <your resource group
ARN>
. Per ulteriori informazioni, consulta Lavora con le prenotazioni di capacità nella Amazon EC2 User Guide.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first", "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup" } } }
Dove arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup
viene sostituito dal tuo gruppo di risorseARN.
Puoi anche utilizzare Amazon EMR CLI per creare un cluster basato su una flotta di istanze utilizzando prenotazioni di capacità mirate.
aws emr create-cluster \ --name 'targeted-CR-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,\ InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={UsageStrategy=use-capacity-reservations-first,CapacityReservationResourceGroupArn=arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup}}'}
Dove,
-
targeted-CR-cluster
viene sostituito con il nome del cluster che utilizza le prenotazioni della capacità mirate. -
subnet-22XXXX01
viene sostituito con l'ID della sottorete. -
arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup
viene sostituito dal tuo gruppo di risorse. ARN
Come evitare l'utilizzo delle prenotazioni della capacità aperte disponibili
Se vuoi evitare di utilizzare inaspettatamente le tue prenotazioni di capacità aperta quando avvii un EMR cluster Amazon, imposta la strategia di allocazione On-Demand su e per. lowest-price
CapacityReservationPreference
CapacityReservationOptions
none
Altrimenti, Amazon imposta per EMR impostazione predefinita la preferenza di prenotazione della capacità dell'istanza On-Demand open
e prova a utilizzare le prenotazioni di capacità aperta disponibili con la massima diligenza possibile.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "CapacityReservationPreference": "none" } } }
Puoi anche utilizzare Amazon EMR CLI per creare un cluster basato su una flotta di istanze senza utilizzare alcuna prenotazione di capacità aperta.
aws emr create-cluster \ --name 'none-CR-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={CapacityReservationPreference=none}}'}
Dove,
-
none-CR-cluster
viene sostituito con il nome del cluster che non utilizza le prenotazioni della capacità aperte. -
subnet-22XXXX01
viene sostituito con l'ID della sottorete.
Scenari per l'utilizzo delle prenotazioni della capacità
È possibile utilizzare le prenotazioni della capacità nei seguenti scenari.
Scenario 1: Rotazione di un cluster a esecuzione prolungata utilizzando le prenotazioni della capacità
Quando si ruota un cluster a esecuzione prolungata, è possibile che siano richiesti requisiti rigorosi per i tipi di istanza e le zone di disponibilità per le nuove istanze di cui si esegue il provisioning. Con le prenotazioni della capacità, è possibile utilizzare la garanzia della capacità per completare la rotazione del cluster senza interruzioni.
Scenario 2: Provisioning di cluster di breve durata successivi utilizzando le prenotazioni della capacità
È possibile utilizzare le prenotazioni della capacità anche per eseguire il provisioning di un gruppo di cluster successivi e di breve durata per singoli carichi di lavoro in modo che quando si chiude un cluster, il cluster successivo possa utilizzare le prenotazioni della capacità. È possibile utilizzare le prenotazioni della capacità mirate per assicurarsi che solo i cluster previsti utilizzino le prenotazioni della capacità.