Überlegungen zur parallel Ausführung mehrerer Schritte beim Einreichen von Arbeiten an Amazon EMR - Amazon EMR

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.

Überlegungen zur parallel Ausführung mehrerer Schritte beim Einreichen von Arbeiten an Amazon EMR

Die parallel Ausführung mehrerer Schritte bei der Einreichung von Arbeiten an Amazon EMR erfordert vorläufige Entscheidungen über die Ressourcenplanung und die Erwartungen in Bezug auf das Clusterverhalten. Diese werden hier ausführlich behandelt.

  • Parallel laufende Schritte können in beliebiger Reihenfolge abgeschlossen werden, aber ausstehende Schritte in der Warteschlange gehen in der Reihenfolge in den laufenden Zustand über, in der sie eingereicht wurden.

  • Wenn Sie eine Nebenläufigkeitsstufe für Schritte für den Cluster auswählen, müssen Sie überlegen, ob der Primärknoten-Instance-Typ die Speicheranforderungen von Benutzer-Workloads erfüllt. Der Hauptschrittausführungsprozess wird für jeden Schritt auf dem Primärknoten ausgeführt. Das parallele Ausführen mehrerer Schritte erfordert mehr Arbeitsspeicher und eine höhere CPU-Auslastung auf dem Primärknoten als die Ausführung eines einzelnen Schrittes.

  • Um eine komplexe Planung und Ressourcenverwaltung von gleichzeitigen Schritten zu erreichen, können Sie YARN-Planungsfunktionen wie FairScheduler oder verwenden CapacityScheduler. Beispielsweise können Sie FairScheduler mit einem queueMaxAppsDefault-Satz verwenden, um zu verhindern, dass mehr als eine bestimmte Anzahl von Aufgaben gleichzeitig ausgeführt werden.

  • Die Nebenläufigkeitsstufe für Schritte unterliegt den Konfigurationen von Ressourcenmanagern. Wenn YARN beispielsweise nur mit einer Parallelität von 5 konfiguriert ist, können Sie nur fünf YARN-Anwendungen parallel laufen lassen, selbst wenn StepConcurrencyLevel auf 10 gesetzt ist. Weitere Informationen finden Sie unter Konfigurieren von Anwendungen in den Amazon-EMR-Versionshinweisen.

  • Sie können keinen Schritt mit einem anderen ActionOnFailure als CONTINUE hinzufügen, solange die Schrittparallelitätsstufe des Clusters größer als 1 ist.

  • Wenn die Step-Parallelitätsstufe eines Clusters größer als eins ist, wird das ActionOnFailure-Step-Feature nicht aktiviert.

  • Wenn ein Cluster über die Schritt-Parallelitätsstufe 1, aber über mehrere laufende Schritte verfügt, wird TERMINATE_CLUSTER ActionOnFailure möglicherweise aktiviert, CANCEL_AND_WAIT ActionOnFailure jedoch nicht. Dieser Grenzfall tritt auf, wenn die Parallelitätsstufe für Clusterschritte höher als eins war, aber während der Ausführung mehrerer Schritte niedriger war.

  • Sie können EMR Auto Scaling verwenden, um basierend auf den YARN-Ressourcen vertikal zu skalieren und Ressourcenkonflikte zu vermeiden. Weitere Informationen finden Sie unter Verwenden der automatischen Skalierung mit einer benutzerdefinierten Richtlinie für Instance-Gruppen im Verwaltungshandbuch für Amazon EMR.

  • Wenn Sie die Nebenläufigkeitsstufe für Schritte verringern, erlaubt EMR das Abschließen aller laufenden Schritte, bevor die Anzahl der Schritte reduziert wird. Wenn die Ressourcen ausgeschöpft sind, weil der Cluster zu viele gleichzeitige Schritte ausführt, empfehlen wir, alle laufenden Schritte manuell abzubrechen, um Ressourcen freizumachen.