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 le flotte di istanze in Amazon EMR
Lanciare On-Demand Alle flotte di istanze con opzioni di prenotazione della capacità, allegate autorizzazioni aggiuntive per i ruoli di servizio necessarie per utilizzare le opzioni di prenotazione della capacità. Poiché le opzioni di prenotazione della capacità devono essere utilizzate insieme a On-Demand strategia di allocazione, è inoltre necessario includere le autorizzazioni necessarie per la strategia di allocazione nel ruolo di servizio e nella politica gestita. Per ulteriori informazioni, consulta Autorizzazioni della strategia di allocazione.
Amazon EMR supporta prenotazioni della capacità aperte e mirate. Gli argomenti seguenti mostrano le configurazioni dei flotte di istanze che è possibile utilizzare con RunJobFlow azione o create-cluster comando per avviare flotte di istanze utilizzando On-Demand Prenotazioni di capacità.
Utilizzo delle prenotazioni della capacità aperte in base al miglior tentativo
Se il cluster è On-Demand Le istanze corrispondono agli attributi delle prenotazioni di capacità aperta (tipo di istanza, piattaforma, tenancy e zona di disponibilità) disponibili nel tuo 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 dispone di capacità sufficienti 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 EMR effettua il provisioning dei nodi attività in pool di istanze, a partire da quelli con il prezzo più basso, nella zona di disponibilità selezionata fino a quando non viene eseguito il provisioning di tutti i nodi attività. 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 capacità di Amazon EMR per l'utilizzo delle prenotazioni della capacità aperte in base al miglior tentativo.
Esempio 1: Lowest-price il pool di istanze nella richiesta di avvio dispone di prenotazioni di capacità aperta
In questo caso, Amazon EMR lancia la capacità nel pool di istanze con il prezzo più basso con On-Demand Istanze. Le prenotazioni della capacità aperte disponibili in quel pool di istanze vengono utilizzate automaticamente.
| On-Demand Strategia | lowest-price | ||
| Capacità richiesta | 100 | ||
| Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
| Prenotazioni della capacità aperte disponibili | 150 | 100 | 100 |
| On-Demand Prezzo | $ | $$ | $$$ |
| 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: Lowest-price il pool di istanze nella richiesta di avvio non dispone di prenotazioni di capacità aperta disponibili
In questo caso, Amazon EMR lancia la capacità nel pool di istanze con il prezzo più basso con On-Demand Istanze. Tuttavia, le prenotazioni della capacità aperte rimangono inutilizzate.
| On-Demand Strategia | lowest-price | ||
| Capacità richiesta | 100 | ||
| Tipo di istanza | c5.xlarge | m5.xlarge | r5.xlarge |
|
Prenotazioni della capacità aperte disponibili |
- | - | 100 |
| On-Demand Prezzo | $ | $$ | $$$ |
| 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 si utilizza il RunJobFlow azione per creare un cluster basato su un parco di istanze, imposta il On-Demand strategia di allocazione a lowest-price e CapacityReservationPreference per le opzioni di prenotazione della capacità a open. In alternativa, se lasci vuoto questo campo, Amazon EMR imposta di default il On-Demand La preferenza di prenotazione della capacità dell'istanza è open.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "CapacityReservationPreference": "open" } } }
È inoltre possibile utilizzare l'interfaccia CLI di Amazon EMR per creare un cluster basato sul parco istanze utilizzando prenotazioni della capacità aperte.
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-clusterviene sostituito con il nome del cluster che utilizza le prenotazioni della capacità aperte. -
subnet-22XXXX01viene sostituito con l'ID della sottorete.
Usa prima le prenotazioni della capacità aperte
Puoi scegliere di sovrascrivere la strategia di allocazione del prezzo più basso e assegnare priorità utilizzando le prenotazioni della capacità aperte disponibili prima durante il provisioning di un cluster Amazon EMR. In questo caso, Amazon EMR valuta tutti i pool di istanze con prenotazioni della capacità specificati nella richiesta di avvio e utilizza quello con il prezzo più basso che dispone di capacità sufficienti per avviare tutti i nodi principali richiesti. Se nessuno dei pool di istanze con prenotazioni della capacità dispone di capacità sufficiente per i nodi principali richiesti, Amazon EMR ritorna al caso sulla base del miglior tentativo descritto nell'argomento precedente. In altre parole, Amazon EMR valuta nuovamente tutti i pool di istanze specificati nella richiesta di avvio e utilizza quello con il prezzo più basso che dispone di 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 EMR effettua il provisioning dei nodi attività in pool di istanze con prenotazioni della capacità, a partire da quelli con il prezzo più basso, nella zona di disponibilità selezionata fino a quando non viene eseguito il provisioning di tutti i nodi attività. Amazon EMR utilizza prima le prenotazioni della capacità aperte disponibili per ogni pool di istanze nella zona di disponibilità selezionata e, solo se necessario, utilizza la strategia di prezzo più basso per eseguire il provisioning di eventuali nodi attività rimanenti.
Di seguito sono riportati i casi d'uso della logica di allocazione della capacità di Amazon EMR per l'utilizzo delle prenotazioni della capacità aperte per prime.
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 della capacità aperte 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.
| On-Demand Strategia | 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 |
| On-Demand Prezzo | $ | $$ | $$$ |
| 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 ad avviare nodi principali utilizzando una strategia di prezzo più basso in base al miglior tentativo per utilizzare le prenotazioni di capacità.
| On-Demand Strategia | 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 |
| On-Demand Prezzo | $ | $$ | $$$ |
| 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 si utilizza il RunJobFlow azione per creare un cluster basato su un parco di istanze, imposta il On-Demand strategia di allocazione a lowest-price e UsageStrategy per CapacityReservationOptions a use-capacity-reservations-first.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } } }
È inoltre possibile utilizzare l'interfaccia CLI Amazon EMR per creare un cluster basato sul parco istanze utilizzando prima prenotazioni della 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-clusterviene sostituito con il nome del cluster che utilizza le prenotazioni della capacità aperte. -
subnet-22XXXX01viene sostituito con l'ID della sottorete.
Usa prima le prenotazioni della capacità mirate
Quando si esegue il provisioning di un cluster Amazon EMR, è possibile scegliere di sostituire la strategia di allocazione a prezzo più basso e assegnare priorità utilizzando innanzitutto le prenotazioni della capacità mirate disponibili. In questo caso, Amazon EMR valuta tutti i pool di istanze con prenotazioni della capacità mirate specificate nella richiesta di avvio e seleziona quello con il prezzo più basso che dispone di capacità sufficiente per avviare tutti i nodi principali richiesti. Se nessuno dei pool di istanze con prenotazioni della capacità mirate dispone di capacità sufficiente per i nodi principali, Amazon EMR ritorna al caso sulla base del miglior tentativo descritto in precedenza. In altre parole, Amazon EMR valuta nuovamente tutti i pool di istanze specificati nella richiesta di avvio e seleziona quello con il prezzo più basso che dispone di capacità sufficiente per avviare tutti i nodi principali 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 EMR effettua il provisioning dei nodi attività in pool di istanze con prenotazioni della capacità mirate, a partire da quelli con il prezzo più basso, nella zona di disponibilità selezionata fino a quando non viene eseguito il provisioning di tutti i nodi attività. Amazon EMR tenta di utilizzare prima le prenotazioni della capacità mirate disponibili in ogni pool di istanze nella zona di disponibilità selezionata. Quindi, solo se necessario, Amazon EMR utilizza la strategia di prezzo più basso per effettuare il provisioning di eventuali nodi attività rimanenti.
Di seguito sono riportati i casi d'uso della logica di allocazione della capacità di Amazon EMR per l'utilizzo delle prenotazioni della capacità mirate per prime.
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 della 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.
| On-Demand Strategia | 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 |
| On-Demand Prezzo | $ | $$ | $$$ |
| Istanze con provisioning | - | - | 100 |
|---|---|---|---|
| Prenotazione della capacità mirata utilizzata | - | - | 100 |
| Prenotazioni della capacità mirate disponibili | - | - | 50 |
Esempio 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
| On-Demand Strategia | 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 |
| On-Demand Prezzo | $ | $$ | $$$ |
| 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 si utilizza il RunJobFlow azione per creare un cluster basato su un parco di istanze, imposta il On-Demand strategia di allocazione a lowest-price, UsageStrategy per CapacityReservationOptions a use-capacity-reservations-first, e CapacityReservationResourceGroupArn per CapacityReservationOptions a <your resource group
ARN>. Per ulteriori informazioni, vedere Lavora con le prenotazioni di capacità nel Guida per l'utente di Amazon EC2.
"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 con l'ARN del gruppo di risorse.
È inoltre possibile utilizzare la CLI Amazon EMR per creare un cluster basato sul parco istanze utilizzando prima prenotazioni della 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-clusterviene sostituito con il nome del cluster che utilizza le prenotazioni della capacità mirate. -
subnet-22XXXX01viene sostituito con l'ID della sottorete. -
arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroupviene sostituito con l'ARN del gruppo di risorse.
Come evitare l'utilizzo delle prenotazioni della capacità aperte disponibili
Esempio
Se vuoi evitare di utilizzare inaspettatamente una delle tue prenotazioni di capacità aperta durante l'avvio di un cluster Amazon EMR, imposta il On-Demand strategia di allocazione a lowest-price e CapacityReservationPreference per CapacityReservationOptions a none. Altrimenti, Amazon EMR ha come impostazione predefinita On-Demand La preferenza di prenotazione della capacità dell'istanza è open e prova a utilizzare le prenotazioni di capacità aperta disponibili nel migliore dei modi.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "CapacityReservationPreference": "none" } } }
È inoltre possibile utilizzare l'interfaccia CLI di Amazon EMR per creare un cluster basato sul parco istanze senza utilizzare prenotazioni della capacità aperte.
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-clusterviene sostituito con il nome del cluster che non utilizza le prenotazioni della capacità aperte. -
subnet-22XXXX01viene 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à.