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à.
Nozioni di base sul dimensionamento automatico verticale per Amazon EMR su EKS
Usa la scalabilità automatica verticale per Amazon EMR su EKS quando desideri ottimizzare automaticamente le risorse di memoria e CPU per adattarle 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 l'StartJobRunAPI, aggiungi le seguenti due configurazioni al driver per il tuo job Spark per attivare la scalabilità automatica verticale:
"spark.kubernetes.driver.annotation.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 del dimensionamento automatico verticale per Amazon EMR su 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-labelemr-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.annotation.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 relativi al dimensionamento automatico verticale di Amazon EMR su EKS per risolvere il problema.