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à.
Configura gruppi di istanze uniformi per il tuo EMR cluster Amazon
Con la configurazione dei gruppi di istanze, ogni tipo di nodo (master, principale o di task) è costituito dallo stesso tipo di istanza e dalla stessa opzione di acquisto per istanze: on demand o Spot. Queste impostazioni vengono specificate al momento della creazione di un gruppo di istanze. Le impostazioni non possono essere modificate in seguito. Tuttavia, puoi aggiungere istanze dello stesso tipo e opzioni di acquisto a gruppi di istanze principali e dell'attività Puoi anche rimuovere istanze.
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. È possibile utilizzare prenotazioni di capacità aperte per nodi primari, core e attività. Tuttavia, non è possibile utilizzare prenotazioni della capacità mirate o impedire l'avvio di istanze in prenotazioni della capacità aperte con attributi corrispondenti quando si esegue il provisioning di cluster utilizzando gruppi di istanze. Se si desidera utilizzare prenotazioni della capacità mirate o impedire l'avvio di istanze in prenotazioni della capacità aperte, utilizza piuttosto parchi istanze. Per ulteriori informazioni, consulta Utilizza le prenotazioni di capacità con flotte di istanze in Amazon EMR.
Per aggiungere tipi di istanze differenti dopo che un cluster è stato creato, puoi aggiungere gruppi di istanze di attività aggiuntivi. Puoi scegliere tipi di istanze e opzioni di acquisto differenti per ogni gruppo di istanze. Per ulteriori informazioni, consulta Usa Amazon EMR Cluster Scaling per adattarti ai carichi di lavoro in continua evoluzione.
Quando si avviano delle istanze, la preferenza della prenotazione di capacità dell'istanza on demand è impostata in modo predefinito su open
, che consente di eseguirla in qualsiasi prenotazione di capacità aperta che abbia gli attributi corrispondenti (tipo di istanza, piattaforma, zona di disponibilità). Per informazioni sulla condivisione delle prenotazioni di capacità on demand, consulta Utilizza le prenotazioni di capacità con flotte di istanze in Amazon EMR.
In questa sezione viene descritta la creazione di un cluster con gruppi di istanze uniformi. Per ulteriori informazioni sulla modifica di un gruppo di istanze esistente aggiungendo o rimuovendo istanze manualmente o con scalabilità automatica, consulta Gestisci i EMR cluster Amazon.
Utilizzo della console per configurare gruppi di istanze uniformi
Utilizza il AWS CLI per creare un cluster con gruppi di istanze uniformi
Per specificare la configurazione di gruppi di istanze per un cluster utilizzando AWS CLI, utilizza il comando create-cluster
insieme al parametro --instance-groups
. Amazon EMR presuppone l'opzione On-Demand Instance a meno che non si specifichi l'BidPrice
argomento per un gruppo di istanze. Per esempi di comandi create-cluster
che avviano gruppi di istanze uniformi con istanze on demand e opzioni di cluster diverse, digita aws emr create-cluster help
dalla riga di comando oppure consulta create-cluster nella Guida di riferimento ai comandi della AWS CLI .
Puoi utilizzare l' AWS CLI per creare gruppi di istanze uniformi in un cluster che utilizza istanze Spot. Il prezzo Spot offerto dipende dalla zona di disponibilità. Quando si utilizza CLI oAPI, è possibile specificare la zona di disponibilità con l'AvailabilityZone
argomento (se si utilizza una rete EC2 -classic) o l'SubnetID
argomento del --ec2-attributes
parametro. La zona di disponibilità o la sottorete selezionata vale per il cluster, pertanto viene utilizzata per tutti i gruppi di istanze. Se non specifichi esplicitamente una zona di disponibilità o una sottorete, Amazon EMR seleziona la zona di disponibilità con il prezzo Spot più basso quando avvia il cluster.
Nel seguente esempio viene illustrato un comando create-cluster
che crea un gruppo di istanze primarie, uno di core e due di attività, tutti i quali utilizzano istanze spot. Sostituiscilo myKey
con il nome della tua coppia di EC2 chiavi Amazon.
Nota
I caratteri di continuazione della riga Linux (\) sono inclusi per questioni di leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuovili o sostituiscili con un accento circonflesso (^).
aws emr create-cluster --name "
MySpotCluster
" \ --release-labelemr-7.5.0
\ --use-default-roles \ --ec2-attributes KeyName=myKey
\ --instance-groups \ InstanceGroupType=MASTER
,InstanceType=m5.xlarge
,InstanceCount=1
,BidPrice=0.25
\ InstanceGroupType=CORE
,InstanceType=m5.xlarge
,InstanceCount=2
,BidPrice=0.03
\ InstanceGroupType=TASK
,InstanceType=m5.xlarge
,InstanceCount=4
,BidPrice=0.03
\ InstanceGroupType=TASK
,InstanceType=m5.xlarge
,InstanceCount=2
,BidPrice=0.04
UtilizzandoCLI, puoi creare cluster di gruppi di istanze uniformi che specificano una personalizzazione univoca AMI per ogni tipo di istanza nel gruppo di istanze. Ciò consente di utilizzare architetture di istanze diverse nello stesso gruppo di istanze. Ogni tipo di istanza deve utilizzare un'architettura personalizzata AMI con un'architettura corrispondente. Ad esempio, dovreste configurare un tipo di istanza m5.xlarge con un'architettura x86_64 personalizzata e un tipo di istanza m6g.xlarge con un'architettura personalizzata AMI corrispondente (). AWS AARCH64
ARM AMI
L'esempio seguente mostra un cluster di gruppi di istanze uniforme creato con due tipi di istanze, ognuno con la propria personalizzazione. AMI Si noti che le personalizzazioni AMIs sono specificate solo a livello di tipo di istanza, non a livello di cluster. Questo serve a evitare conflitti tra il tipo di istanza AMIs e uno AMI a livello di cluster, che potrebbero causare il fallimento dell'avvio del cluster.
aws emr create-cluster --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-groups \ InstanceGroupType=MASTER,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 \ InstanceGroupType=CORE,InstanceType=m6g.xlarge,InstanceCount=1,CustomAmiId=ami-234567
È possibile aggiungere più elementi personalizzati AMIs a un gruppo di istanze da aggiungere a un cluster in esecuzione. L'argomento CustomAmiId
può essere utilizzato con il comando add-instance-groups
come mostrato nell'esempio seguente.
aws emr add-instance-groups --cluster-id j-123456 \ --instance-groups \ InstanceGroupType=Task,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456
Utilizzate Java SDK per creare un gruppo di istanze
Crea un'istanza di un oggetto InstanceGroupConfig
che specifica la configurazione di un gruppo di istanze per un cluster. Per utilizzare istanze Spot, imposta le proprietà withBidPrice
e withMarket
sull'oggetto InstanceGroupConfig
. Nel codice seguente viene mostrato come definire gruppi di istanze primarie, core e attività che eseguono istanze spot.
InstanceGroupConfig instanceGroupConfigMaster = new InstanceGroupConfig() .withInstanceCount(1) .withInstanceRole("MASTER") .withInstanceType("m4.large") .withMarket("SPOT") .withBidPrice("0.25"); InstanceGroupConfig instanceGroupConfigCore = new InstanceGroupConfig() .withInstanceCount(4) .withInstanceRole("CORE") .withInstanceType("m4.large") .withMarket("SPOT") .withBidPrice("0.03"); InstanceGroupConfig instanceGroupConfigTask = new InstanceGroupConfig() .withInstanceCount(2) .withInstanceRole("TASK") .withInstanceType("m4.large") .withMarket("SPOT") .withBidPrice("0.10");