Utilizzo del dimensionamento gestito in Amazon EMR - Amazon EMR

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à.

Utilizzo del dimensionamento gestito in Amazon EMR

Importante

Per il dimensionamento gestito si consiglia di utilizzare i rilasci più recenti di Amazon EMR. Nelle versioni precedenti di Amazon EMR, potresti riscontrare errori intermittenti delle applicazioni o ritardi nella scalabilità. Questo problema è stato risolto nei rilasci 5.30.2, 5.31.1, 5.32.1, 5.33.1, 6.0.1, 6.1.1, 6.2.1 e 6.3.1 di Amazon EMR.

Con Amazon EMR versioni 5.30.0 e successive (tranne Amazon EMR 6.0.0), puoi abilitare il dimensionamento gestito da Amazon EMR. Il dimensionamento gestito ti permette di aumentare o diminuire automaticamente il numero di istanze o unità nel cluster in base al carico di lavoro. Amazon EMR valuta continuamente i parametri dei cluster per prendere decisioni di dimensionamento che ottimizzano i cluster in termini di costi e velocità. Il dimensionamento gestito è disponibile per i cluster composti da gruppi di istanze o parchi istanze.

Parametri del dimensionamento gestito

È necessario configurare i seguenti parametri per il dimensionamento gestito. Il limite si applica solo ai nodi core e task. Il nodo primario non può essere dimensionato dopo la configurazione iniziale.

  • Minimum (Minimo) (MinimumCapacityUnits): il limite minimo della capacità EC2 consentita in un cluster. Si misura in core vCPU (Virtual Central Processing Unit) o istanze per gruppi di istanze. Si misura in unità per parchi istanze.

  • Maximum (Massimo) (MaximumCapacityUnits): il limite massimo della capacità EC2 consentita in un cluster. Si misura in core vCPU (Virtual Central Processing Unit) o istanze per gruppi di istanze. Si misura in unità per parchi istanze.

  • On-Demand limit (Limite on demand) (MaximumOnDemandCapacityUnits) (facoltativo): limite massimo della capacità EC2 consentita per il tipo di mercato on demand in un cluster. Se questo parametro non è specificato, il valore predefinito viene impostato su MaximumCapacityUnits.

    • Questo parametro viene utilizzato per dividere l'allocazione della capacità tra istanze on demand e Spot. Ad esempio, se imposti 2 istanze come parametro minimo, il parametro massimo sarà 100 istanze e il limite on demand sarà 10 istanze, pertanto il dimensionamento gestito da Amazon EMR aumenta fino a 10 istanze on demand e assegna la capacità rimanente alle istanze spot. Per ulteriori informazioni, consulta Scenari di assegnazione dei nodi.

  • Maximum core nodes (Numero massimo di nodi principali) (MaximumCoreCapacityUnits) (facoltativo): il limite massimo della capacità EC2 consentita per il tipo di nodo principale in un cluster. Se questo parametro non è specificato, il valore predefinito viene impostato su MaximumCapacityUnits.

    • Questo parametro viene utilizzato per dividere l'allocazione della capacità tra nodi principali e attività. Ad esempio, se imposti 2 istanze come parametro minimo, il parametro massimo sarà 100 istanze e il nodo core massimo sarà 17 istanze, pertanto il dimensionamento gestito da Amazon EMR aumenta fino a 17 nodi core e assegna le 83 istanze rimanenti ai nodi attività. Per ulteriori informazioni, consulta Scenari di assegnazione dei nodi.

Per ulteriori informazioni sui parametri del dimensionamento gestito, consulta ComputeLimits.

Considerazioni e limitazioni

Disponibilità

  • La scalabilità gestita di Amazon EMR è attualmente disponibile nei seguenti modiAWSRegioni: Stati Uniti orientali (Virginia settentrionale e Ohio), Stati Uniti occidentali (Oregon e California settentrionale), Sud America (San Paolo), Europa (Francoforte, Irlanda, Londra, Milano, Parigi e Stoccolma), Canada (centrale), Asia Pacifico (Hong Kong, Mumbai, Seoul, Singapore, Sydney e Tokyo), Medio Oriente (Bahrein), Africa (Città del Capo),AWS GovCloud(Stati Uniti orientali),AWS GovCloud(Stati Uniti occidentali), Cina (Pechino) gestita da Sinnet e Cina (Ningxia) gestita da NWCD.

  • Il dimensionamento gestito da Amazon EMR funziona solo con applicazioni YARN, come Spark, Hadoop, Hive e Flink. Attualmente non sono supportate le applicazioni non basate su YARN, come Presto e HBase.

  • È necessario configurare i parametri richiesti per il dimensionamento gestito da Amazon EMR. Per ulteriori informazioni, consulta Parametri del dimensionamento gestito.

  • Per utilizzare il dimensionamento gestito in API Gateway, il processo di raccolta dei parametri deve essere in grado di connettersi all'endpoint API pubblico. Se utilizzi un nome DNS privato con Amazon Virtual Private Cloud, dimensionamento gestito non funzionerà correttamente. Per garantire che il dimensionamento gestito funzioni, consigliamo di eseguire una delle seguenti operazioni:

Altre considerazioni

  • Se i processi YARN sono rallentati in modo intermittente durante la riduzione e i registri di YARN Resource Manager mostrano che la maggior parte dei nodi sono stati elencati come negati durante quel periodo, puoi regolare la soglia di timeout di disattivazione.

    Riduci il spark.blacklist.decommissioning.timeout da un'ora a un minuto per rendere disponibile il nodo per altri container in sospeso per continuare l'elaborazione del processo.

    Inoltre, è necessario impostare YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secs su un valore maggiore per garantire che Amazon EMR non forzi la terminazione del nodo mentre il "Processo Spark" più lungo è ancora in esecuzione sul nodo. Il valore predefinito attuale è 60 minuti, il che significa che la YARN forza la terminazione del container dopo 60 minuti una volta che il nodo entra nello stato di disattivazione.

    Il seguente esempio di riga del log Resource Manager di YARN mostra i nodi aggiunti allo stato di disattivazione:

    2021-10-20 15:55:26,994 INFO org.apache.hadoop.YARN.server.resourcemanager.DefaultAMSProcessor (IPC Server handler 37 on default port 8030): blacklist are updated in Scheduler.blacklistAdditions: [ip-10-10-27-207.us-west-2.compute.internal, ip-10-10-29-216.us-west-2.compute.internal, ip-10-10-31-13.us-west-2.compute.internal, ... , ip-10-10-30-77.us-west-2.compute.internal], blacklistRemovals: []

    Scopri maggiori dettagli su come Amazon EMR si integra con l'elenco rifiutati di YARN durante la disattivazione dei nodi, i casi in cui i nodi in Amazon EMR possono essere aggiunti all'elenco rifiutati e la configurazione del comportamento di disattivazione dei nodi di Spark.

  • L'utilizzo eccessivo dei volumi EBS può causare problemi di dimensionamento gestito. Si consiglia di mantenere il volume EBS inferiore al 90% di utilizzo. Per ulteriori informazioni, consulta Archiviazione dell'istanza.

  • AmazonCloudWatchi parametri sono fondamentali per il funzionamento della scalabilità gestita di Amazon EMR. Ti consigliamo di monitorare attentamente AmazonCloudWatchmetriche per assicurarsi che i dati non manchino. Per ulteriori informazioni su come configurareCloudWatchallarmi per rilevare le metriche mancanti, vediUsare AmazonCloudWatchallarmi.

  • Le operazioni di dimensionamento gestito su cluster 5.30.0 e 5.30.1 senza Presto installato possono causare errori delle applicazioni o far sì che un gruppo di istanze o un parco istanze uniforme mantenga lo stato ARRESTED, in particolare quando un'operazione di dimensionamento verso il basso è seguita rapidamente da un'operazione di dimensionamento verso l'alto.

    Come soluzione alternativa, scegli Presto come applicazione da installare quando crei un cluster con Amazon EMR rilasci 5.30.0 e 5.30.1, anche se il tuo processo non richiede Presto.

  • Quando imposti il nodo core massimo e il limite on demand per il dimensionamento gestito da Amazon EMR, considera le differenze tra gruppi di istanze e parchi istanze. Ogni gruppo di istanze è costituito dallo stesso tipo di istanza e dalla stessa opzione di acquisto per istanze: on demand o Spot. Per ogni parco istanze, puoi specificare fino a cinque tipi di istanze, che possono essere assegnate come istanze on demand e Spot. Per ulteriori informazioni, consulta Creazione di un cluster con parchi istanze o gruppi di istanze uniformi, Opzioni dei parchi istanze e Scenari di assegnazione dei nodi.

  • Con Amazon EMR rilascio 5.30.0 e successivi, se si rimuove la regola predefinita Allow All (Consenti tutto) in uscita su 0.0.0.0/ nel gruppo di sicurezza principale è necessario aggiungere una regola per consentire la connettività TCP in uscita al gruppo di sicurezza di accesso al servizio sulla porta 9443. Inoltre, il gruppo di sicurezza di accesso al servizio deve consentire il traffico TCP in ingresso sulla porta 9443 dal gruppo di sicurezza principale. Per ulteriori informazioni sulla configurazione dei gruppi di sicurezza, consulta la sezione Amazon EMR-managed security group for the primary instance (private subnets) (Gruppo di sicurezza gestito da Amazon EMR per l'istanza primaria [sottoreti private]).

  • Il dimensionamento gestito attualmente non supporta la caratteristica YARN node labels (Etichette di nodi YARN). Evita di utilizzare le etichette dei nodi sui cluster con scalabilità gestita. Ad esempio, non consentire agli esecutori di funzionare solo sui nodi delle attività. Quando utilizzi le etichette dei nodi nei tuoi cluster Amazon EMR, potresti scoprire che il cluster non sta aumentando, il che può portare a un rallentamento dell'applicazione.

  • Puoi utilizzare AWS CloudFormation per configurare il dimensionamento gestito da Amazon EMR. Per ulteriori informazioni, consulta AWS::EMR::Cluster nella Guida per l'utente di AWS CloudFormation.

Cronologia della caratteristica

Questa tabella elenca gli aggiornamenti della funzionalità di dimensionamento gestito da Amazon EMR.

Data di rilascio Funzionalità Versioni di Amazon EMR
28 luglio 2023 Scalabilità gestita migliorata per passare a diversi gruppi di istanze di attività in fase di scalabilità quando Amazon EMR presenta un ritardo nella scalabilità con il gruppo di istanze corrente. 5.34.0 e versioni successive e 6.4.0 e versioni successive
16 giugno 2023 Scalabilità gestita migliorata per conoscere i nodi che eseguono Application Master in modo che tali nodi non vengano ridimensionati. Per ulteriori informazioni, consulta Informazioni su strategia e scenari di assegnazione dei nodi. 5.34.0 e versioni successive e 6.4.0 e versioni successive
21 marzo 2022 Aggiunta la consapevolezza dei dati di shuffle di Spark utilizzata durante la riduzione verticale dei cluster. Per i cluster Amazon EMR con Apache Spark e la caratteristica di dimensionamento gestito abilitato, Amazon EMR monitora continuamente gli esecutori Spark e le posizioni intermedie dei dati di shuffle. Utilizzando queste informazioni, Amazon EMR riduce verticalmente solo le istanze sottoutilizzate che non contengono dati di shuffle utilizzati attivamente. Ciò impedisce il ricalcolo dei dati di shuffle persi, contribuendo a ridurre i costi e migliorare le prestazioni dei processi. Per ulteriori informazioni, consulta la Guida di programmazione Spark. 5.34.0 e versioni successive e 6.4.0 e versioni successive