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à.
Ridimensiona manualmente un cluster in esecuzione
Puoi aggiungere e rimuovere istanze dai gruppi di istanze principali e task e dai parchi di istanze in un cluster in esecuzione con AWS Management Console, AWS CLI, o Amazon EMRAPI. Se un cluster utilizza gruppi di istanze, deve essere cambiato esplicitamente il conteggio delle istanze. Se il cluster utilizza parchi di istanze, è possibile modificare le unità di destinazione per le istanze on demand e le istanze Spot. Il parco di istanze aggiunge e rimuove le istanze per soddisfare la nuova destinazione. Per ulteriori informazioni, consulta Opzioni del parco istanze. Le applicazioni possono utilizzare EC2 istanze Amazon di nuova generazione per ospitare i nodi non appena le istanze sono disponibili. Quando le istanze vengono rimosse, Amazon EMR interrompe le attività in modo da non interrompere i lavori e protegge dalla perdita di dati. Per ulteriori informazioni, consulta Terminazione al completamento dell'attività.
Ridimensionamento di un cluster con la console
Puoi utilizzare la EMR console Amazon per ridimensionare un cluster in esecuzione.
Quando si modifica il numero di nodi, Status (Stato) del gruppo di istanze viene aggiornato. Quando la modifica richiesta è completata, lo Status (Stato) è Running (In esecuzione).
Ridimensiona un cluster con AWS CLI
Puoi utilizzare il plugin AWS CLI per ridimensionare un cluster in esecuzione. Si può aumentare o diminuire il numero di nodi di attività e si può aumentare il numero di nodi principali in un cluster in esecuzione. È anche possibile chiudere un'istanza nel gruppo di istanze principale con AWS CLI o ilAPI. Questo deve essere fatto con cautela. La chiusura di un'istanza nel gruppo di istanze core comporta la perdita di dati e l'istanza non viene sostituita automaticamente.
Oltre a ridimensionare il core e i gruppi di attività, puoi anche aggiungere uno o più gruppi di istanze di attività a un cluster in esecuzione con AWS CLI.
Per ridimensionare un cluster modificando il conteggio delle istanze con AWS CLI
È possibile aggiungere istanze al gruppo principale o al gruppo di attività e rimuovere istanze dal gruppo di attività con il AWS CLI modify-instance-groups
sottocomando con il parametro. InstanceCount
Per aggiungere istanze ai gruppi principali o di attività, aumentare il InstanceCount
. Per ridurre il numero di istanze nel gruppo di attività, diminuire InstanceCount
. La modifica del conteggio delle istanze del gruppo di attività a 0 rimuove tutte le istanze ma non il gruppo di istanze.
-
Per aumentare il numero di istanze nel gruppo di istanze di attività da 3 a 4, digitate il seguente comando e sostituitelo
ig-31JXXXXXXBTO
con l'ID del gruppo di istanze.aws emr modify-instance-groups --instance-groups InstanceGroupId=
ig-31JXXXXXXBTO
,InstanceCount=4
Per recuperare
InstanceGroupId
, utilizzare il sottocomandodescribe-cluster
. L'output è un JSON oggetto chiamatoCluster
che contiene l'ID di ogni gruppo di istanze. Per utilizzare questo comando, è necessario l'ID del cluster (che è possibile recuperare con il comandoaws emr list-clusters
o la console). Per recuperare l'ID del gruppo di istanze, digitate il seguente comando e sostituitej-2AXXXXXXGAPLF
con l'ID del cluster.aws emr describe-cluster --cluster-id
j-2AXXXXXXGAPLF
Con il plugin AWS CLI, puoi anche terminare un'istanza nel gruppo di istanze principale con il
--modify-instance-groups
sottocomando.avvertimento
La specifica di
EC2InstanceIdsToTerminate
deve essere eseguita con cautela. Le istanze vengono terminate immediatamente, indipendentemente dallo stato delle applicazioni in esecuzione su di esse, e l'istanza non viene sostituita automaticamente. Questo è vero indipendentemente dalla configurazione del Scale down behavior (Comportamento di ridimensionamento) del cluster. La cessazione di un'istanza in questo modo comporta il rischio di perdita di dati e di un comportamento imprevedibile del cluster.Per terminare un'istanza specifica sono necessari l'ID del gruppo di istanze (restituito dal
aws emr describe-cluster --cluster-id
sottocomando) e l'ID dell'istanza (restituito dalaws emr list-instances --cluster-id
sottocomando). Digitate il seguente comando, replaceig-6RXXXXXX07SA
con l'ID del gruppo di istanze e sostituiscii-f9XXXXf2
con l'ID dell'istanza.aws emr modify-instance-groups --instance-groups InstanceGroupId=
ig-6RXXXXXX07SA
,EC2InstanceIdsToTerminate=i-f9XXXXf2
Per ulteriori informazioni sull'utilizzo dei EMR comandi Amazon nel AWS CLI, consulta https://docs.aws.amazon.com/cli/latest/reference/emr.
Per ridimensionare un cluster aggiungendo gruppi di istanze di attività con AWS CLI
Con il plugin AWS CLI, è possibile aggiungere da 1 a 48 gruppi di istanze di attività a un cluster con il sottocomando. --add-instance-groups
I gruppi di istanze attività possono essere aggiunti solo a un cluster contenente un gruppo di istanze primarie e un gruppo di istanze core. Quando si utilizza il AWS CLI, è possibile aggiungere fino a cinque gruppi di istanze di attività ogni volta che si utilizza il --add-instance-groups
sottocomando.
-
Per aggiungere un singolo gruppo di istanze di task a un cluster, digita il comando seguente e sostituiscilo
j-JXBXXXXXX37R
con l'ID del cluster.aws emr add-instance-groups --cluster-id
j-JXBXXXXXX37R
--instance-groups InstanceCount=6
,InstanceGroupType=task
,InstanceType=m5.xlarge
-
Per aggiungere più gruppi di istanze di attività a un cluster, digita il comando seguente e sostituisci
j-JXBXXXXXX37R
con l'ID del cluster. È possibile aggiungere fino a cinque gruppi di istanze di attività in un unico comando.aws emr add-instance-groups --cluster-id
j-JXBXXXXXX37R
--instance-groups InstanceCount=6
,InstanceGroupType=task
,InstanceType=m5.xlarge
InstanceCount=10
,InstanceGroupType=task
,InstanceType=m5.xlarge
Per ulteriori informazioni sull'utilizzo dei EMR comandi Amazon nel AWS CLI, consulta https://docs.aws.amazon.com/cli/latest/reference/emr.
Interruzione di un ridimensionamento
Utilizzando Amazon EMR versione 4.1.0 o successiva, puoi eseguire un ridimensionamento nel bel mezzo di un'operazione di ridimensionamento esistente. Inoltre, è possibile interrompere una richiesta di ridimensionamento precedentemente inviata o inviare una nuova richiesta per sovrascrivere una richiesta precedente senza attendere che termini. Puoi anche interrompere un ridimensionamento esistente dalla console o con la ModifyInstanceGroups
API chiamata con il conteggio corrente come conteggio di destinazione del cluster.
Il seguente screenshot mostra un gruppo di istanze di attività di ridimensionamento, ma possono essere arrestate scegliendo Stop (Interrompi).
Per interrompere un ridimensionamento con AWS CLI
Puoi utilizzare il plugin AWS CLI per interrompere un ridimensionamento con il sottocomando. modify-instance-groups
Supponiamo di avere sei istanze nel proprio gruppo di istanze e di volerle portare a 10. In seguito si decide di annullare la richiesta:
-
La richiesta iniziale:
aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-
myInstanceGroupId
,InstanceCount=10La seconda richiesta di bloccare la prima richiesta:
aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-
myInstanceGroupId
,InstanceCount=6
Nota
Poiché questo processo è asincrono, è possibile che il conteggio delle istanze cambi rispetto alle API richieste precedenti prima che le richieste successive vengano rispettate. In caso di riduzione, è possibile che, se si ha un lavoro in corso sui nodi, il gruppo di istanze non si riduca fino a quando i nodi non hanno completato il loro lavoro.
Stato sospeso
Un gruppo di istanze entra in uno stato di sospensione se incontra troppi errori durante il tentativo di avviare i nuovi nodi del cluster. Ad esempio, se i nuovi nodi falliscono durante l'esecuzione di azioni di bootstrap, il gruppo di istanze entra in uno SUSPENDEDstato, anziché effettuare continuamente il provisioning di nuovi nodi. Dopo aver risolto il problema sottostante, reimpostare il numero desiderato di nodi sul gruppo di istanze del cluster, quindi il gruppo di istanze riprende l'allocazione dei nodi. La modifica di un gruppo di istanze indica ad Amazon di EMR tentare nuovamente di effettuare il provisioning dei nodi. Nessun nodo in esecuzione viene riavviato o terminato.
Nel AWS CLI, il list-instances
sottocomando restituisce tutte le istanze e i relativi stati così come il describe-cluster
sottocomando. Se Amazon EMR rileva un errore in un gruppo di istanze, modifica lo stato del gruppo inSUSPENDED
.
Per reimpostare un cluster in uno SUSPENDED stato con AWS CLI
Digitare il sottocomando describe-cluster
con il parametro --cluster-id
per visualizzare lo stato delle istanze nel cluster.
-
Per visualizzare le informazioni su tutte le istanze e i gruppi di istanze in un cluster, digita il comando seguente e sostituisci
j-3KVXXXXXXY7UG
con l'ID del cluster.aws emr describe-cluster --cluster-id
j-3KVXXXXXXY7UG
L'output mostra le informazioni sui gruppi di istanze e lo stato delle istanze:
{ "Cluster": { "Status": { "Timeline": { "ReadyDateTime": 1413187781.245, "CreationDateTime": 1413187405.356 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "Ec2InstanceAttributes": { "Ec2AvailabilityZone": "us-west-2b" }, "Name": "Development Cluster", "Tags": [], "TerminationProtected": false, "RunningAmiVersion": "3.2.1", "NormalizedInstanceHours": 16, "InstanceGroups": [ { "RequestedInstanceCount": 1, "Status": { "Timeline": { "ReadyDateTime": 1413187775.749, "CreationDateTime": 1413187405.357 }, "State": "RUNNING", "StateChangeReason": { "Message": "" } }, "Name": "MASTER", "InstanceGroupType": "MASTER", "InstanceType": "m5.xlarge", "Id": "ig-3ETXXXXXXFYV8", "Market": "ON_DEMAND", "RunningInstanceCount": 1 }, { "RequestedInstanceCount": 1, "Status": { "Timeline": { "ReadyDateTime": 1413187781.301, "CreationDateTime": 1413187405.357 }, "State": "RUNNING", "StateChangeReason": { "Message": "" } }, "Name": "CORE", "InstanceGroupType": "CORE", "InstanceType": "m5.xlarge", "Id": "ig-3SUXXXXXXQ9ZM", "Market": "ON_DEMAND", "RunningInstanceCount": 1 } ... }
Per visualizzare le informazioni su un particolare gruppo di istanze, digitare il sottocomando
list-instances
con i parametri--cluster-id
e--instance-group-types
. È possibile visualizzare informazioni per i gruppi primari, core o attività.aws emr list-instances --cluster-id
j-3KVXXXXXXY7UG
--instance-group-types"CORE"
Usare il sottocomando
modify-instance-groups
con il parametro--instance-groups
per resettare un cluster nello statoSUSPENDED
. Il sottocomandodescribe-cluster
restituisce l'id del gruppo di istanze.aws emr modify-instance-groups --instance-groups InstanceGroupId=
ig-3SUXXXXXXQ9ZM
,InstanceCount=3
Considerazioni sulla riduzione delle dimensioni del cluster
Se scegli di ridurre le dimensioni di un cluster in esecuzione, prendi in considerazione il seguente EMR comportamento e le migliori pratiche di Amazon:
-
Per ridurre l'impatto sui lavori in corso, Amazon seleziona in EMR modo intelligente le istanze da rimuovere. Per ulteriori informazioni sul comportamento di scalabilità verso il basso dei cluster, consulta Terminazione al completamento dell'attività la Amazon EMR Management Guide.
-
Quando riduci le dimensioni di un cluster, Amazon EMR copia i dati dalle istanze che rimuove alle istanze rimanenti. Verifica che vi sia una capacità di archiviazione sufficiente per questi dati nelle istanze che rimangono nel gruppo.
-
Amazon EMR tenta di HDFS disattivare le istanze del gruppo. Prima di ridurre le dimensioni di un cluster, consigliamo di ridurre al minimo l'I/O di HDFS scrittura.
-
Per un controllo più granulare quando si riducono le dimensioni di un cluster, puoi visualizzare il cluster nella console e accedere alla scheda Instances (Istanze). Seleziona l'ID per il gruppo di istanze che desideri ridimensionare. Quindi utilizza l'opzione Terminate (Termina) per le istanze specifiche che desideri rimuovere.