Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erste Schritte mit vertikaler Autoskalierung für Amazon on EMR EKS
Verwenden Sie vertikale Autoskalierung für Amazon EMR onEKS, wenn Sie Speicher und CPU Ressourcen automatisch optimieren möchten, um sie an die Arbeitslast Ihrer Amazon EMR Spark-Anwendung anzupassen. Weitere Informationen finden Sie unter Verwenden der vertikalen Autoskalierung mit Amazon EMR Spark-Jobs.
Einreichen eines Spark-Auftrags mit vertikalem Auto Scaling
Wenn Sie einen Job über den einreichen StartJobRunAPI, fügen Sie dem Treiber die folgenden beiden Konfigurationen für Ihren Spark-Job hinzu, um die vertikale Autoskalierung zu aktivieren:
"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
"
Im obigen Code aktiviert die erste Zeile die vertikale Auto-Scaling-Funktion. Die nächste Zeile ist eine erforderliche Signaturkonfiguration, mit der Sie eine Signatur für Ihren Auftrag auswählen können.
Weitere Informationen zu diesen Konfigurationen und akzeptablen Parameterwerten finden Sie unter Konfiguration von vertikalem Autoscaling für Amazon EMR auf EKS. Standardmäßig wird Ihr Auftrag beim vertikalen Auto Scaling im Modus Nur für Überwachung aus gesendet. In diesem Überwachungsstatus können Sie Ressourcenempfehlungen berechnen und anzeigen, ohne ein Auto Scaling durchführen zu müssen. Weitere Informationen finden Sie unter Modi für vertikales Auto Scaling.
Das folgende Beispiel veranschaulicht, wie Sie einen start-job-run
-Beispiel-Befehl mit vertikalem Auto Scaling abschließen:
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.label.emr-containers.amazonaws.com/dynamic.sizing": "true", "spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.signature": "test-signature
" } }] }'
Überprüfen der vertikalen Auto-Scaling-Funktionalität
Um zu überprüfen, ob das vertikale Auto Scaling für den eingereichten Auftrag korrekt funktioniert, rufen Sie mit kubectl die benutzerdefinierte verticalpodautoscaler
-Ressource ab und sehen Sie sich Ihre Skalierungsempfehlungen an. Mit dem folgenden Befehl werden beispielsweise Empfehlungen für den Beispielauftrag aus dem Abschnitt Einreichen eines Spark-Auftrags mit vertikalem Auto Scaling abgefragt:
kubectl get verticalpodautoscalers --all-namespaces \ -l=emr-containers.amazonaws.com/dynamic.sizing.signature=
test-signature
Die Ausgabe dieser Abfrage sollte wie folgt aussehen:
NAME MODE CPU MEM PROVIDED AGE
ds-jceyefkxnhrvdzw6djum3naf2abm6o63a6dvjkkedqtkhlrf25eq-vpa Off 3304504865 True 87m
Wenn Ihre Ausgabe nicht ähnlich aussieht oder einen Fehlercode enthält, finden Sie weitere Schritte zur Behebung des Problems in Problembehebung bei Amazon EMR bei EKS vertikaler Autoskalierung.