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.
Konfiguration der automatischen Skalierung von Amazon MWAA Worker
Der Auto-Scaling-Mechanismus erhöht automatisch die Anzahl der Apache Airflow Airflow-Worker als Reaktion auf laufende und in der Warteschlange stehende Aufgaben in Ihrer Amazon Managed Workflows for Apache Airflow Airflow-Umgebung und entsorgt zusätzliche Mitarbeiter, wenn keine Aufgaben mehr in der Warteschlange stehen oder ausgeführt werden. In diesem Thema wird beschrieben, wie Sie Auto Scaling konfigurieren können, indem Sie mithilfe der Amazon MWAA-Konsole die maximale Anzahl von Apache Airflow Airflow-Workern angeben, die in Ihrer Umgebung ausgeführt werden.
Anmerkung
Amazon MWAA verwendet Apache Airflow-Metriken, um zu ermitteln, wann zusätzliche Celery Executor-Mitarbeitermax-workers Wenn die zusätzlichen Mitarbeiter ihre Arbeit erledigen und die Arbeitsbelastung abnimmt, entfernt Amazon MWAA sie und reduziert somit wieder den Wert von. min-workers
Wenn Mitarbeiter beim Herunterskalieren neue Aufgaben übernehmen, behält Amazon MWAA die Fargate-Ressource und entfernt den Mitarbeiter nicht. Weitere Informationen finden Sie unter So funktioniert Amazon MWAA Auto Scaling.
Sections
So funktioniert Worker Scaling
Amazon MWAA verwendet RunningTasks QueuedTasks Metriken, wobei (ausgeführte Aufgaben + Aufgaben in der Warteschlange)/(Aufgaben pro Mitarbeiter) = (erforderliche Mitarbeiter). Wenn die erforderliche Anzahl von Arbeitern die aktuelle Anzahl von Arbeitern übersteigt, fügt Amazon MWAA Fargate-Arbeitercontainer zu diesem Wert hinzu, bis zu dem von angegebenen Höchstwert. max-workers
Da die Arbeitslast sinkt RunningTasks und die Summe der QueuedTasks Kennzahlen sinkt, fordert Amazon MWAA Fargate auf, die Anzahl der Mitarbeiter für die Umwelt zu reduzieren. Alle Mitarbeiter, die ihre Arbeit noch erledigen, bleiben während des Downscalings geschützt, bis sie ihre Arbeit abgeschlossen haben. Je nach Arbeitslast können Aufgaben in die Warteschlange gestellt werden, während die Mitarbeiter ihre Aufgaben herunterskalieren.
Verwenden der Amazon MWAA-Konsole
Sie können die maximale Anzahl von Workern, die in Ihrer Umgebung gleichzeitig ausgeführt werden können, auf der Amazon MWAA-Konsole auswählen. Standardmäßig können Sie einen Höchstwert von bis zu 25 angeben.
Um die Anzahl der Arbeiter zu konfigurieren
-
Öffnen Sie die Seite Umgebungen
auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie Bearbeiten aus.
-
Wählen Sie Weiter aus.
-
Geben Sie im Bereich Umgebungsklasse einen Wert in das Feld Maximale Anzahl von Mitarbeitern ein.
-
Wählen Sie Speichern.
Anmerkung
Es kann einige Minuten dauern, bis Änderungen in Ihrer Umgebung wirksam werden.
Beispiel für einen Anwendungsfall mit hoher Leistung
Im folgenden Abschnitt werden die Arten von Konfigurationen beschrieben, die Sie verwenden können, um hohe Leistung und Parallelität in einer Umgebung zu ermöglichen.
Apache Airflow vor Ort
In der Regel konfigurieren Sie auf einer lokalen Apache Airflow-Plattform die Einstellungen für Aufgabenparallelität, auto Skalierung und Parallelität in Ihrer Datei: airflow.cfg
-
core.parallelism— Die maximale Anzahl von Task-Instanzen, die pro Scheduler gleichzeitig ausgeführt werden können. -
core.dag_concurrency— Die maximale Parallelität für DAGs (nicht für Arbeiter). -
celery.worker_autoscale— Die maximale und minimale Anzahl von Aufgaben, die gleichzeitig auf einem beliebigen Worker ausgeführt werden können.
Wenn beispielsweise auf eingestellt core.parallelism war 100 und auf eingestellt core.dag_concurrency war7, können Sie nur dann insgesamt 14 zwei Aufgaben gleichzeitig ausführen. DAGs Angenommen, jede DAG ist so eingestellt, dass sie nur sieben Aufgaben gleichzeitig (incore.dag_concurrency) ausführt, obwohl die Gesamtparallelität auf 100 (in) eingestellt ist. core.parallelism
Anmerkung
core.dag_concurrencyist in Apache Airflow v3 nicht verfügbar.
In einer Amazon MWAA-Umgebung
In einer Amazon MWAA-Umgebung können Sie diese Einstellungen direkt auf der Amazon MWAA-Konsole mithilfe von Verwenden der Apache Airflow Airflow-Konfigurationsoptionen auf Amazon MWAAKonfiguration der Amazon MWAA-Umgebungsklasse, und dem auto Skalierungsmechanismus Maximum Worker Count konfigurieren. core.dag_concurrencyEs ist zwar nicht in der Drop-down-Liste als Apache Airflow Airflow-Konfigurationsoption auf der Amazon MWAA-Konsole verfügbar, Sie können es jedoch als benutzerdefinierte Apache Airflow Airflow-Konfigurationsoption hinzufügen.
Nehmen wir an, Sie haben beim Erstellen Ihrer Umgebung die folgenden Einstellungen ausgewählt:
-
Die Umgebungsklasse mw1.small, die die maximale Anzahl gleichzeitiger Aufgaben steuert, die jeder Worker standardmäßig ausführen kann, sowie die vCPU von Containern.
-
Die Standardeinstellung für Arbeiter unter Maximale Anzahl von
10Arbeitern. -
Eine Apache Airflow Airflow-Konfigurationsoption für
celery.worker_autoscale5,5Aufgaben pro Mitarbeiter.
Das bedeutet, dass Sie in Ihrer Umgebung 50 Aufgaben gleichzeitig ausführen können. Alle Aufgaben über 50 werden in die Warteschlange gestellt und warten, bis die laufenden Aufgaben abgeschlossen sind.
Führen Sie mehr Aufgaben gleichzeitig aus. Mithilfe der folgenden Konfigurationen können Sie Ihre Umgebung so ändern, dass mehr Aufgaben gleichzeitig ausgeführt werden:
-
celery.worker_autoscaleAls Apache Airflow Airflow-Konfigurationsoption hinzufügen. -
Erhöhen Sie die maximale Anzahl an Mitarbeitern. In diesem Beispiel
20verdoppelt sich die Anzahl der Aufgaben, die10die Umgebung gleichzeitig ausführen kann, wenn die maximale Anzahl an Mitarbeitern von 0 auf erhöht wird.
Geben Sie die Mindestanzahl an Mitarbeitern an. Sie können auch die minimale und maximale Anzahl von Apache Airflow Airflow-Workern angeben, die in Ihrer Umgebung ausgeführt werden, indem Sie AWS Command Line Interface (AWS CLI) verwenden. Zum Beispiel:
aws mwaa update-environment --max-workers 10 --min-workers 10 --nameYOUR_ENVIRONMENT_NAME
Weitere Informationen finden Sie im Befehl update-environment in der. AWS CLI
Problembehandlung bei Aufgaben, die im laufenden Zustand hängen geblieben sind
In seltenen Fällen könnte Apache Airflow denken, dass noch Aufgaben ausgeführt werden. Um dieses Problem zu beheben, müssen Sie die gestrandete Aufgabe in Ihrer Apache Airflow Airflow-Benutzeroberfläche löschen. Weitere Informationen finden Sie im Thema Fehlerbehebung bei Amazon Managed Workflows für Apache Airflow Problembehandlung.
Als nächstes
-
Erfahren Sie mehr über die bewährten Methoden, die wir empfehlen, um die Leistung Ihrer Umgebung zu optimierenLeistungsoptimierung für Apache Airflow auf Amazon MWAA.