Guida introduttiva alla scalabilità automatica verticale per Amazon su EMR EKS - 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à.

Guida introduttiva alla scalabilità automatica verticale per Amazon su EMR EKS

Usa la scalabilità automatica verticale per Amazon EMR EKS quando desideri l'ottimizzazione automatica della memoria e delle CPU risorse per adattarla al carico di lavoro dell'applicazione Amazon EMR Spark. Per ulteriori informazioni, consulta Usare la scalabilità automatica verticale con i job Amazon EMR Spark.

Invio di un processo Spark con dimensionamento automatico verticale

Quando invii un lavoro tramite il StartJobRunAPI, aggiungi le seguenti due configurazioni al driver per attivare la scalabilità automatica verticale del job Spark:

"spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing":"true", "spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.signature":"YOUR_JOB_SIGNATURE"

Nel codice precedente, la prima riga abilita la funzionalità di dimensionamento automatico verticale. La riga successiva è una configurazione di firma obbligatoria che consente di scegliere una firma per il processo.

Per ulteriori informazioni su queste configurazioni e sui valori dei parametri accettabili, consulta Configurazione della scalabilità automatica verticale per Amazon su EMR EKS. Per impostazione predefinita, il processo viene inviato nella modalità Disattivato di solo monitoraggio del dimensionamento automatico verticale. Questo stato di monitoraggio consente di calcolare e visualizzare consigli sulle risorse senza eseguire il dimensionamento automatico. Per ulteriori informazioni, consulta Modalità di dimensionamento automatico verticale.

L'esempio seguente mostra come completare un comando start-job-run di esempio con dimensionamento automatico verticale:

aws emr-containers start-job-run \ --virtual-cluster-id $VIRTUAL_CLUSTER_ID \ --name $JOB_NAME \ --execution-role-arn $EMR_ROLE_ARN \ --release-label emr-6.10.0-latest \ --job-driver '{ "sparkSubmitJobDriver": { "entryPoint": "local:///usr/lib/spark/examples/src/main/python/pi.py" } }' \ --configuration-overrides '{ "applicationConfiguration": [{ "classification": "spark-defaults", "properties": { "spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing": "true", "spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.signature": "test-signature" } }] }'

Verifica della funzionalità di dimensionamento automatico verticale

Per verificare che il dimensionamento automatico verticale funzioni correttamente per il processo inviato, utilizza kubectl per ottenere la risorsa personalizzata verticalpodautoscaler e visualizzare i consigli di dimensionamento. Ad esempio, il seguente comando invia una query per richiedere consigli sul processo di esempio dalla sezione Invio di un processo Spark con dimensionamento automatico verticale:

kubectl get verticalpodautoscalers --all-namespaces \ -l=emr-containers.amazonaws.com/dynamic.sizing.signature=test-signature

L'output della query deve assomigliare al seguente:

NAME MODE CPU MEM PROVIDED AGE ds-jceyefkxnhrvdzw6djum3naf2abm6o63a6dvjkkedqtkhlrf25eq-vpa Off 3304504865 True 87m

Se l'output non è simile o contiene un codice di errore, consulta la procedura indicata in Risoluzione dei problemi di Amazon EMR sulla EKS scalabilità automatica verticale per risolvere il problema.