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-Worker als Reaktion auf laufende und in der Warteschlange stehende Aufgaben in Ihrer Amazon Managed Workflows for Apache 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-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 Edit (Bearbeiten) aus.
-
Wählen Sie Weiter.
-
Geben Sie im Bereich Umgebungsklasse einen Wert in das Feld Maximale Anzahl von Mitarbeitern ein.
-
Wählen Sie Save (Speichern) aus.
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 würden Sie auf einer lokalen Apache Airflow-Plattform die Einstellungen für Aufgabenparallelität, auto Skalierung und Parallelität in Ihrer Datei konfigurieren: 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
core.dag_concurrency
war 100
und auf gesetzt wäre7
, könnten Sie trotzdem nur die Gesamtzahl der 14
Aufgaben gleichzeitig ausführen, wenn Sie 2 hätten. 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
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-Konfigurationsoptionen auf Amazon MWAAKonfiguration der Amazon MWAA-Umgebungsklasse, und dem auto Skalierungsmechanismus Maximum Worker Count konfigurieren. core.dag_concurrency
Es ist zwar nicht in der Drop-down-Liste als Apache Airflow-Konfigurationsoption auf der Amazon MWAA-Konsole verfügbar, Sie können es jedoch als benutzerdefinierte Apache 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 Mitarbeiter unter Maximale Anzahl von
10
Mitarbeitern. -
Eine Apache Airflow-Konfigurationsoption für 4
celery.worker_autoscale
5,5
Aufgaben pro Worker.
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_autoscale
Als Apache Airflow-Konfigurationsoption hinzufügen. -
Erhöhen Sie die maximale Anzahl an Mitarbeitern. In diesem Beispiel
20
würde eine Erhöhung der maximalen Anzahl von Mitarbeitern von10
auf die doppelte Anzahl gleichzeitiger Aufgaben, die die Umgebung ausführen kann, bedeuten.
Geben Sie die Mindestanzahl an Mitarbeitern an. Sie können auch die Mindest- und Höchstanzahl von Apache 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 --name
YOUR_ENVIRONMENT_NAME
Weitere Informationen finden Sie unter dem Befehl update-environment im. AWS CLI
Problembehandlung bei Aufgaben, die im laufenden Zustand hängen geblieben sind
In seltenen Fällen geht Apache Airflow möglicherweise davon aus, dass Aufgaben noch ausgeführt werden. Um dieses Problem zu beheben, müssen Sie die nicht mehr benötigte Aufgabe in Ihrer Apache 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.