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à.
Importante
Ti consigliamo vivamente di utilizzare l'ultima versione di Amazon EMR (Amazon EMR 7.7.0) per la scalabilità gestita. In alcune versioni preliminari di Amazon EMR, potresti riscontrare esiti negativi intermittenti delle applicazioni o ritardi nel dimensionamento. Amazon EMR. ha risolto questo problema con le versioni 5.x 5.30.2, 5.31.1, 5.32.1, 5.33.1 e successive e con le versioni 6.x 6.1.1, 6.2.1, 6.3.1 e successive. Per ulteriori informazioni sulla regione e sulla disponibilità del rilascio, consulta Disponibilità di dimensionamento gestito.
Panoramica
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.
Disponibilità di dimensionamento gestito
-
Di seguito Regioni AWS, la scalabilità gestita di Amazon EMR è disponibile con Amazon EMR 6.14.0 e versioni successive:
-
Europa (Spagna) (eu-south-2)
-
-
Di seguito Regioni AWS, la scalabilità gestita di Amazon EMR è disponibile con Amazon EMR 5.30.0 e 6.1.0 e versioni successive:
Stati Uniti orientali (Virginia settentrionale) (us-east-1)
Stati Uniti orientali (Ohio) (us-east-2)
Stati Uniti occidentali (Oregon) (us-west-2)
Stati Uniti occidentali (California settentrionale) (us-west-1)
Africa (Città del Capo) (af-south-1)
Asia Pacifico (Hong Kong) (ap-east-1)
Asia Pacifico (Mumbai) (ap-south-1)
Asia Pacifico (Hyderabad) (ap-south-2)
Asia Pacifico (Seoul) (ap-northeast-2)
Asia Pacifico (Singapore) (ap-southeast-1)
Asia Pacifico (Sydney) (ap-southeast-2)
Asia Pacific (Giacarta) (ap-southeast-3)
Asia Pacifico (Tokyo) (ap-northeast-1)
Asia Pacifico (Osaka-Locale) (ap-northeast-3)
Canada (Centrale) (ca-central-1)
Sud America (San Paolo) (sa-east-1)
Europa (Francoforte) (eu-central-1)
Europa (Zurigo) (eu-central-2)
Europa (Irlanda) (eu-west-1)
Europa (Londra) (eu-west-2)
Europa (Milano) (eu-south-1)
Europe (Parigi) (eu-west-3)
Europa (Stoccolma) (eu-north-1)
Israele (Tel Aviv) (il-central-1)
Medio Oriente (EAU) (me-central-1)
Cina (Pechino) cn-north-1
Cina (Ningxia) cn-nordovest-1
AWS GovCloud (Stati Uniti orientali) (-1) us-gov-east
AWS GovCloud (Stati Uniti occidentali) (us-gov-west-1)
-
Il dimensionamento gestito da Amazon EMR funziona solo con applicazioni YARN, come Spark, Hadoop, Hive e Flink. Non supporta applicazioni che non sono basate su YARN, come Presto e. HBase
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 (
MinimumCapacityUnits
): il limite inferiore della EC2 capacità 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 (
MaximumCapacityUnits
): il limite superiore della EC2 capacità 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. -
Limite On-Demand (
MaximumOnDemandCapacityUnits
) (Facoltativo): il limite superiore della EC2 capacità consentita per il tipo di mercato On-Demand in un cluster. Se questo parametro non è specificato, il valore predefinito viene impostato suMaximumCapacityUnits
.-
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.
-
-
Numero massimo di nodi principali (
MaximumCoreCapacityUnits
) (opzionale): il limite superiore della EC2 capacità consentita per il tipo di nodo principale in un cluster. Se questo parametro non è specificato, il valore predefinito viene impostato suMaximumCapacityUnits
.-
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 sul dimensionamento gestito di Amazon EMR
-
La scalabilità gestita è supportata in versioni limitate Regioni AWS e di Amazon EMR. Per ulteriori informazioni, consulta Disponibilità di dimensionamento gestito.
-
È 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, la scalabilità gestita non funzionerà correttamente. Per garantire che il dimensionamento gestito funzioni, consigliamo di eseguire una delle seguenti operazioni:
-
Rimuovi l'endpoint VPC dell'interfaccia API Gateway dal tuo Amazon VPC.
-
Segui le istruzioni in Perché ricevo un errore HTTP 403 Forbidden quando mi connetto al mio API Gateway APIs da un VPC
? per disabilitare l'impostazione del nome DNS privato. -
In alternativa, avvia il cluster in una sottorete privata. Per ulteriori informazioni, consulta l'argomento in Sottoreti private.
-
-
Se i processi YARN sono rallentati in modo intermittente durante la riduzione e i log 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 Opzioni e comportamento di storage delle istanze in Amazon EMR.
-
CloudWatch I parametri di Amazon sono fondamentali per il funzionamento della scalabilità gestita di Amazon EMR. Ti consigliamo di monitorare attentamente i CloudWatch parametri di Amazon per assicurarti che non manchino dati. Per ulteriori informazioni su come configurare gli CloudWatch allarmi per rilevare le metriche mancanti, consulta Using Amazon CloudWatch alarms.
-
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 riduzione è seguita rapidamente da un'operazione di aumento.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]).
-
Puoi usarlo AWS CloudFormation per configurare la scalabilità gestita di Amazon EMR. Per ulteriori informazioni, consulta AWS::EMR::Cluster nella Guida per l'utente di AWS CloudFormation .
-
Se utilizzi nodi Spot, valuta la possibilità di utilizzare le etichette dei nodi per impedire ad Amazon EMR di rimuovere i processi applicativi quando Amazon EMR rimuove i nodi Spot. Per ulteriori informazioni sulle etichette dei nodi, consulta Task nodes.
-
L'etichettatura dei nodi non è supportata per impostazione predefinita nelle versioni 6.15 o precedenti di Amazon EMR. Per ulteriori informazioni, consulta Comprendere i tipi di nodi: nodi primari, principali e nodi di attività.
-
Se utilizzi le versioni 6.15 o precedenti di Amazon EMR, puoi assegnare etichette ai nodi solo per tipo di nodo, ad esempio nodi core e task. Tuttavia, se utilizzi Amazon EMR versione 7.0 o successiva, puoi configurare le etichette dei nodi per tipo di nodo e tipo di mercato, ad esempio On-Demand e Spot.
-
Se la domanda dei processi applicativi aumenta e la domanda degli esecutori diminuisce quando si limita il processo applicativo ai nodi principali, è possibile aggiungere nuovamente i nodi principali e rimuovere i nodi di attività nella stessa operazione di ridimensionamento. Per ulteriori informazioni, vedere Comprensione della strategia e degli scenari di allocazione dei nodi.
-
Amazon EMR non etichetta i task node, quindi non puoi impostare le proprietà YARN per limitare i processi applicativi solo per i task node. Tuttavia, se desideri utilizzare i tipi di mercato come etichette dei nodi, puoi utilizzare le
SPOT
etichetteON_DEMAND
o per il posizionamento dei processi applicativi. Non è consigliabile utilizzare i nodi Spot per i processi primari delle applicazioni. -
Quando utilizzi le etichette dei nodi, il totale delle unità in esecuzione nel cluster può temporaneamente superare la capacità di calcolo massima impostata nella tua politica di scalabilità gestita, mentre Amazon EMR disattiva alcune delle tue istanze. Le unità totali richieste rimarranno sempre pari o inferiori alla capacità di calcolo massima prevista dalla tua policy.
-
La scalabilità gestita supporta solo le etichette dei nodi
SPOT
e/oON_DEMAND
CORE
e.TASK
Le etichette personalizzate dei nodi non sono supportate. -
Amazon EMR crea etichette per i nodi durante la creazione del cluster e il provisioning delle risorse. Amazon EMR non supporta l'aggiunta di etichette dei nodi durante la riconfigurazione del cluster. Inoltre, non è possibile modificare le etichette dei nodi durante la configurazione della scalabilità gestita dopo l'avvio del cluster.
-
La scalabilità gestita ridimensiona i nodi principali e i nodi di attività in modo indipendente in base al processo applicativo e alla richiesta dell'esecutore. Per evitare problemi di perdita di dati HDFS durante il core scaling down, segui la procedura standard per i nodi principali. Per ulteriori informazioni sulle best practice relative ai nodi principali e alla replica HDFS, consulta Considerazioni e best practice.
-
Non è possibile posizionare sia il processo applicativo che gli esecutori solo sul nodo o.
core
ON_DEMAND
Se desideri aggiungere sia il processo di applicazione che gli esecutori su uno dei nodi, non utilizzare layarn.node-labels.am.default-node-label-expression
configurazione.Ad esempio, per posizionare sia il processo dell'applicazione che gli esecutori nei
ON_DEMAND
nodi, impostate max computute sullo stesso valore del valore massimo nel nodo.ON_DEMAND
Rimuovi anche la configurazione.yarn.node-labels.am.default-node-label-expression
Per aggiungere sia il processo di applicazione che gli esecutori sui
core
nodi, rimuovi layarn.node-labels.am.default-node-label-expression
configurazione. -
Quando utilizzi la scalabilità gestita con le etichette dei nodi, imposta la proprietà
yarn.scheduler.capacity.maximum-am-resource-percent: 1
se prevedi di eseguire più applicazioni in parallelo. In questo modo si garantisce che i processi applicativi utilizzino appieno i nodiCORE
oON_DEMAND
disponibili. -
Se utilizzi la scalabilità gestita con etichette dei nodi, imposta la proprietà
yarn.resourcemanager.decommissioning.timeout
su un valore più lungo dell'applicazione in esecuzione più a lungo del cluster. In questo modo si riduce la possibilità che lo scaling gestito di Amazon EMR debba riprogrammare le applicazioni per la rimessa in servizio o i nodi.CORE
ON_DEMAND
Cronologia delle funzionalità
Questa tabella elenca gli aggiornamenti della funzionalità di dimensionamento gestito da Amazon EMR.
Data di rilascio | Funzionalità | Versioni di Amazon EMR |
---|---|---|
20 novembre 2024 | La scalabilità gestita è disponibile nelle regioni di il-central-1 Israele (Tel Aviv), me-central-1 Medio Oriente (Emirati Arabi Uniti) e ap-northeast-3 Asia Pacifico (Osaka). |
5.30.0 e 6.1.0 e versioni successive |
15 novembre 2024 | La scalabilità gestita è disponibile nella regione eu-central-2 Europa (Zurigo). |
5.30.0 e 6.1.0 e versioni successive |
20 agosto 2024 | Le etichette dei nodi sono ora disponibili nella versione Managed Scaling, quindi puoi etichettare le istanze in base al tipo di mercato o al tipo di nodo per migliorare la scalabilità automatica. | 7.2.0 e versioni successive |
31 marzo 2024 | La scalabilità gestita è disponibile nella regione ap-south-2 Asia Pacifico (Hyderabad). |
6.14.0 e versioni successive |
13 febbraio 2024 | La scalabilità gestita è disponibile nella eu-south-2 regione Europa (Spagna). |
6.14.0 e versioni successive |
10 ottobre 2023 | Il dimensionamento gestito è disponibile nella regione Asia Pacific (Giacarta) ap-southeast-3 . |
6.14.0 e versioni successive |
28 luglio 2023 | Dimensionamento gestito migliorato per passare a gruppi di istanze di attività diversi su scala verticale quando Amazon EMR subisce un ritardo nel dimensionamento verticale rispetto al gruppo di istanze corrente. | 5.34.0 e versioni successive, 6.4.0 e versioni successive |
16 giugno 2023 | Dimensionamento gestito migliorato per rilevare i nodi che eseguono il master dell'applicazione in modo che tali nodi non vengano dimensionati ridotti. Per ulteriori informazioni, consulta Comprendere la strategia e gli scenari di allocazione dei nodi di Amazon EMR. | 5.34.0 e versioni successive, 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, 6.4.0 e versioni successive |