Heute gibt AWS die Verfügbarkeit direkter Versions-Upgrades für bekannt Von Amazon verwalteter Workflow für Apache Airflow (Amazon MWAA). Mit dieser Erweiterung können Sie Ihre vorhandenen Apache Airflow-Umgebungen der Version 2.x nahtlos auf neuere verfügbare Versionen aktualisieren und dabei den Workflow-Ausführungsverlauf und die Umgebungskonfigurationen beibehalten. Sie können jetzt die neuesten Funktionen der Apache Airflow-Plattform nutzen, ohne eine völlig neue Amazon MWAA-Umgebung erstellen zu müssen.
Wenn Sie bisher Ihre Amazon MWAA-Umgebung auf eine andere Apache Airflow-Version aktualisieren wollten, mussten Sie die folgenden Schritte befolgen Migration der Amazon MWAA-Umgebung Anweisungen. Dazu gehörte die Erstellung einer neuen Amazon MWAA-Umgebung und die anschließende Migration aller Ihrer Konfigurationen und Gerichtete azyklische Graphen (DAGs) dazu. Wenn Sie auch den Verlauf der DAG-Ausführungen beibehalten mussten, mussten Sie eine Sicherungskopie Ihrer Metadatendatenbank erstellen und diese Sicherung dann in der neu erstellten Umgebung wiederherstellen. Dieser Prozess war fehleranfällig, manuell und verursachte zusätzliche Kosten für die Wartung zweier separater Amazon MWAA-Umgebungen, bis Sie die neue überprüfen und die alte außer Betrieb nehmen konnten.
In diesem Beitrag geben wir einen Überblick über die In-Place-Versionsaktualisierungsfunktion, untersuchen anwendbare Anwendungsfälle, erläutern die Schritte zu ihrer Verwendung und bieten zusätzliche Anleitungen zu ihren Funktionen.
Lösungsübersicht
Die neu eingeführten In-Place-Versions-Upgrades von Amazon MWAA ermöglichen einen optimierten Übergang von Ihren bestehenden, auf Apache Airflow Version 2.x basierenden Umgebungen zu neueren verfügbaren Apache Airflow-Versionen. Amazon MWAA verwaltet den gesamten Upgrade-Prozess, von der Bereitstellung neuer Apache Airflow-Versionen bis zum Upgrade der Metadatendatenbank. Im Falle eines Upgrade-Fehlers ist Amazon MWAA darauf ausgelegt, mithilfe des zugehörigen Metadaten-Datenbank-Snapshots ein Rollback auf die vorherige stabile Version durchzuführen.
Das Upgrade Ihrer vorhandenen Umgebungen auf Amazon MWAA ist ein unkomplizierter Prozess. Sie können Ihre vorhandenen Apache Airflow 2.0- und neueren Umgebungen auf Amazon MWAA mit nur wenigen Klicks auf der Amazon MWAA-Konsole aktualisieren, indem Sie die Amazon MWAA-API verwenden AWS-Befehlszeilenschnittstelle (AWS CLI) oder durch die Verwendung von Tools wie AWS CloudFormation, der AWS Cloud-Entwicklungskit (AWS CDK) oder Terraform. Diese Funktion ist in allen derzeit unterstützten Amazon MWAA-Regionen verfügbar.
Bearbeiten Sie in der Amazon MWAA-Konsole einfach die Umgebung und wählen Sie eine verfügbare Apache Airflow-Version aus, die höher ist als die aktuelle Version Ihrer vorhandenen Umgebung. Sie können auch die verwenden UpdateEnvironment API und geben Sie die neue Apache Airflow-Version an, um einen Upgrade-Prozess auszulösen. Weitere Informationen zu direkten Versions-Upgrades finden Sie unter Upgrade der Apache Airflow-Version aus der Amazon MWAA-Dokumentation.
Bei einem Upgrade erstellt Amazon MWAA zunächst einen Snapshot der Metadatendatenbank der vorhandenen Umgebung, der dann als Grundlage für eine neue Datenbank dient. Anschließend werden alle Apache Airflow-Komponenten – Webserver, Scheduler und Worker – aktualisiert. Schließlich wird die neu erstellte Metadatendatenbank aktualisiert, wodurch der Übergang zur neuen Umgebung effektiv abgeschlossen wird.
Anwendbare Anwendungsfälle
Sie sollten ein Upgrade Ihrer Apache Airflow-Version auf Amazon MWAA in Betracht ziehen, wenn Ihre bestehenden Arbeitsabläufe die Änderung berücksichtigen können und eine neue Version mit Funktionen oder Verbesserungen verfügbar ist, die zu Ihrem Anwendungsfall passen. Durch ein Upgrade können Sie die neuesten Funktionen der Apache Airflow-Plattform nutzen und die Kompatibilität mit neuen Funktionen und Best Practices wie datengesteuerter Planung und neuen Amazon-Anbieterpaketen aufrechterhalten veröffentlicht in Apache Airflow 2.4.3. Der Upgrade-Prozess beinhaltet eine Ausfallzeit der Umgebung, die je nach Umgebungsgröße bis zu 2 Stunden dauern kann und bei Bedarf zu einem für Sie am besten geeigneten Zeitpunkt durchgeführt werden kann. Wenn Ihre vorhandene Umgebung so stark ausgelastet ist, dass Sie sich keine Ausfallzeiten leisten können, sollten Sie stattdessen die Erstellung einer neuen Umgebung in Betracht ziehen.
Voraussetzungen:
Stellen Sie bei der Vorbereitung des Upgrades sicher, dass Sie die folgenden erforderlichen Schritte ausführen:
- Überprüfen Sie die Apache Airflow-Änderungen zwischen Ihren vorhandenen und neuen Versionen der Umgebung. Überprüfen Sie den Apache Airflow Versionshinweise um die Auswirkungen neuer Funktionen, bedeutender Änderungen und Fehlerbehebungen zu verstehen, die alle Zwischenversionen von Apache Airflow zwischen Ihrer Quell- und Zielversion vorgenommen haben.
- Überprüfen Sie Ihre bestehenden
requirements.txt
Datei, um den richtigen Satz an Abhängigkeiten zu überprüfen, die für Ihre Zielumgebung erforderlich sind. Überprüfen Sie außerdem, ob Ihrerequirements.txt
In der Datei wird am Anfang der Datei die richtige Einschränkungsdatei hinzugefügt, die zu Ihrer Zielumgebung passt. Die Apache Airflow-Einschränkungsdatei gibt die abhängigen Module und Anbieterversionen an, die zum Zeitpunkt einer Apache Airflow-Version verfügbar sind. Durch das Hinzufügen einer Einschränkungsdatei wird verhindert, dass inkompatible Bibliotheken in Ihrer Umgebung installiert werden. Ersetzen Sie im folgenden Beispiel{Airflow-version}
mit der Versionsnummer Ihrer Zielumgebung und{Python-version}
mit der Python-Version, die mit Ihrer Umgebung kompatibel ist:--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-{Airflow-version}/constraints-{Python-version}.txt"
- Überprüfen Sie die Kompatibilität zusätzlicher Python-Bibliotheken, die in Ihrem erwähnt werden
requirements.txt
Datei passend zu Ihrer Zielumgebung. Apache Airflow v2.4.3 und höher verwenden Python v3.10, während ältere Apache Airflow-Versionen Python v3.7 verwenden. Wenn Sie daher versuchen, Ihre bestehende, auf Apache Airflow v2.0.2/2.2.2 basierende Umgebung auf Apache Airflow v2.4.3 oder höher zu aktualisieren, sollten Sie Ihre zusätzlichen Python-Bibliotheken aktualisieren, damit sie mit Python v3.10 übereinstimmen. - Mit Apache Airflow v2.4.3 und höher hat sich die Liste der Anbieterpakete, die Amazon MWAA standardmäßig für Ihre Umgebung installiert, geändert. Beachten Sie, dass sich einige Importe und Operatornamen im neuen Anbieterpaket in Apache Airflow geändert haben, um die Namenskonvention für alle Anbieterpakete zu standardisieren. Vergleich die Liste der standardmäßig installierten Anbieterpakete in Apache Airflow v2.2.2 oder v2.0.2 und konfigurieren Sie alle zusätzlichen Pakete, die Sie möglicherweise für Ihre neue Apache Airflow v2.4.3 und höhere Umgebung benötigen.
- Stellen Sie sicher, dass Ihre DAGs und andere Workflow-Ressourcen mit der neuen Apache Airflow-Version kompatibel sind, auf die Sie aktualisieren.
- Verwenden Sie das aws-mwaa-local-runner Dienstprogramm zum lokalen Testen Ihrer vorhandenen DAGs, Anforderungen, Plugins und Abhängigkeiten vor der Bereitstellung auf Amazon MWAA. Sie können lokal eine Apache Airflow-Zielumgebung erstellen, die einem Amazon MWAA-Produktionsimage ähnelt
aws-mwaa-local-runner
und überprüfen Sie, ob alle Ihre Komponenten funktionieren, bevor Sie versuchen, Ihre Amazon MWAA-Umgebung zu aktualisieren. Testen Sie außerdem den neuen Umgebungs-Upgrade-Prozess in niedrigeren Amazon-MWAA-Umgebungen wie Dev oder Staging, bevor Sie das Upgrade in Produktionsumgebungen einführen.
Aktualisierungsvorgang
Wenn ein Upgrade initiiert wurde, stoppt Amazon MWAA die vorhandenen zugrunde liegenden Apache Airflow-Komponenten (Webserver, Scheduler und Worker). Dieser Prozess stoppt alle Worker-Aufgaben, die derzeit ausgeführt werden. Der Status Ihrer Umgebung wird zu diesem Zeitpunkt wie folgt angezeigt: UPDATING
. Der Upgrade-Prozess erstellt dann einen Datenbank-Snapshot der Metadatendatenbank, der durch den Status gekennzeichnet ist CREATING_SNAPSHOT
. Wenn der Snapshot abgeschlossen ist, kehrt der Umgebungsstatus zu zurück UPDATING
da Amazon MWAA die Erstellung einer neuen Apache Airflow-Umgebung auslöst, die Ihrer Versionsauswahl entspricht, und die erforderlichen Schemaänderungen auf die vorhandene Metadatendatenbank anwendet, um sie an die Apache Airflow-Zielumgebung anzupassen. In dieser Phase werden Ihre angegebenen Anforderungen, Plugins und anderen Abhängigkeiten installiert.
Nach Abschluss wird Ihre neue Umgebung mit markiert AVAILABLE
Dies zeigt an, dass der Upgrade-Prozess erfolgreich war und die Umgebung zum Testen bereit ist. Sie können sich jetzt bei Ihrer Apache Airflow-Benutzeroberfläche anmelden, um das Vorhandensein Ihrer vorhandenen DAGs, deren historische Ausführungen, konfigurierte Verbindungen und mehr zu überprüfen.
Wenn jedoch bei der Installation Ihrer angegebenen Anforderungen, Plugins und Abhängigkeitsdateien Fehler auftreten, initiiert die Umgebung ein Rollback auf die vorherige stabile Version. Während dieses Vorgangs wird Ihr Umgebungsstatus als angezeigt ROLLING_BACK
. Wenn das Rollback erfolgreich ist, ist Ihre vorherige stabile Umgebung verfügbar und der Status wird als angezeigt UPDATE_FAILED
bis ein neues Update versucht wird und erfolgreich ist. Wenn das Rollback fehlschlägt, wird der Status als angezeigt UNAVAILABLE
, was darauf hinweist, dass Ihre Umgebung nicht funktionsfähig ist.
Wenn Ihr Umgebungsaktualisierungsprozess fehlschlägt, ist es wahrscheinlich, dass der zugrunde liegende Amazon Elastic Container-Service (Amazon ECS) AWS Fargate Cluster hatten Stabilisierungsprobleme, die durch widersprüchliche Anforderungen und Plugins, Netzwerkprobleme oder DB-Migrationsprobleme nach dem Upgrade der Apache Airflow-Komponente verursacht wurden. Um diese Probleme zu mindern, stellen Sie sicher, dass Ihre DAGs und Anforderungen problemlos funktionieren aws-mwaa-local-runner
Nutzen Sie das Dienstprogramm und testen Sie es idealerweise in einer Staging-Amazon MWAA-Umgebung.
Weitere Überlegungen
Beachten Sie die folgenden zusätzlichen Informationen zu dieser Funktion:
- Der Upgrade-Prozess ist auf Anfrage verfügbar und beschränkt sich auf die Umstellung auf neuere Versionen. Direkte Versions-Upgrades auf Amazon MWAA werden für Version 1.10.z nicht unterstützt. Um ein größeres Versions-Upgrade durchzuführen, beispielsweise von Version 1.yz auf 2.yz, müssen Sie eine neue Umgebung erstellen und Ihre Ressourcen migrieren.
- Sie können nur zutreffende höhere Versionen auswählen, auf die Sie ein Upgrade durchführen können. Ein Downgrade auf eine niedrigere Version ist nicht möglich.
- Der Rollback-Vorgang kann zusätzliche Zeit in Anspruch nehmen und ggf Amazon Simple Storage-Service (Amazon S3) Bucket-Versionierung aktiviert, Amazon MWAA ist so konzipiert, dass die Umgebung auf die vorherige Arbeitskonfiguration zurückgesetzt wird, einschließlich Plugins und Anforderungen. Allerdings werden alle an Ihren DAGs vorgenommenen manuellen Änderungen während dieses Vorgangs nicht rückgängig gemacht.
- Nachdem der Upgrade-Prozess erfolgreich abgeschlossen wurde und die Umgebung verfügbar ist, wird für alle laufenden DAGs, die während des Upgrades unterbrochen wurden, ein Wiederholungsversuch geplant, abhängig von der Art und Weise, wie Sie Wiederholungen für Ihre DAGs konfigurieren. Sie können sie auch manuell auslösen oder auf die nächste geplante Ausführung warten.
- Sie sollten Ihre Umgebungen schrittweise aktualisieren, beginnend mit den am wenigsten kritischen Umgebungen.
Zusammenfassung
In diesem Beitrag haben wir über die neue Funktion von Amazon MWAA gesprochen, die es Ihnen ermöglicht, Ihre bestehende Amazon MWAA-Umgebung auf höhere Apache Airflow-Versionen zu aktualisieren. Diese Funktion wird in neuen und vorhandenen Amazon MWAA-Umgebungen unterstützt, in denen Apache Airflow 2.x und höher ausgeführt wird. Verwenden Sie diese Funktion, um Ihre Apache Airflow-Versionen zu aktualisieren und gleichzeitig Ihre vorhandenen Workflow-Ausführungsverläufe und Umgebungskonfigurationen beizubehalten. Durch ein Upgrade können Sie die neuesten Funktionen der Apache Airflow-Plattform nutzen, die Kompatibilität mit neuen Funktionen aufrechterhalten und Best Practices einhalten.
Weitere Details und Codebeispiele zu Amazon MWAA finden Sie unter Amazon MWAA-Benutzerhandbuch und für Amazon MWAA-Beispiele GitHub-Repo.
Apache, Apache Airflow und Airflow sind entweder eingetragene Marken oder Marken der Apache Software Foundation in den USA und/oder anderen Ländern.
Über die Autoren
Parnab Basak ist Lösungsarchitekt und Serverless-Spezialist bei AWS. Er ist auf die Entwicklung neuer Lösungen spezialisiert, die cloudnativ sind und moderne Softwareentwicklungspraktiken wie Serverless, DevOps und Analytics nutzen. Parnab arbeitet eng im Bereich Analyse- und Integrationsdienste zusammen und unterstützt Kunden bei der Einführung von AWS-Diensten für ihre Anforderungen an die Workflow-Orchestrierung.
Fernando Gamero ist Senior Solutions Architect-Ingenieur bei AWS und verfügt über mehr als 25 Jahre Erfahrung in der Technologiebranche, von der Telekommunikation über das Bankwesen bis hin zu Startups. Jetzt unterstützt er Kunden beim Aufbau ereignisgesteuerter Architekturen, der Einführung von IoT-Lösungen am Edge und der maßstabsgetreuen Transformation ihrer Daten- und maschinellen Lernpipelines.
Shubham Mehta ist ein erfahrener Produktmanager mit über acht Jahren Erfahrung und einer nachgewiesenen Erfolgsbilanz bei der Lieferung erfolgreicher Produkte. In seiner aktuellen Rolle als Senior Product Manager bei AWS überwacht er Amazon Managed Workflows für Apache Airflow (Amazon MWAA) und leitet die Open-Source-Beiträge zu Apache Airflow, um die Funktionalität des Produkts weiter zu verbessern.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoAiStream. Web3-Datenintelligenz. Wissen verstärkt. Hier zugreifen.
- Die Zukunft prägen mit Adryenn Ashley. Hier zugreifen.
- Kaufen und verkaufen Sie Anteile an PRE-IPO-Unternehmen mit PREIPO®. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/big-data/introducing-in-place-version-upgrades-with-amazon-mwaa/
- :hast
- :Ist
- :nicht
- $UP
- 1
- 10
- 100
- 110
- 7
- a
- Über Uns
- oben
- unterbringen
- über
- azyklisch
- hinzugefügt
- Hinzufügen
- Zusätzliche
- Zusätzliche Angaben
- zusätzlich
- haften
- adoptieren
- Die Annahme
- Vorteil
- Nach der
- ausrichten
- Alle
- erlaubt
- ebenfalls
- Amazon
- Amazon Managed Workflows für Apache Airflow (Amazon MWAA)
- Amazon Web Services
- an
- Analytik
- und
- Ankündigung
- jedem
- Apache
- Bienen
- anwendbar
- SIND
- AS
- damit verbundenen
- At
- Versuche
- versuchen
- Verfügbarkeit
- verfügbar
- AWS
- Zurück
- Sicherungskopie
- Bankinggg
- Grundlage
- BE
- war
- Bevor
- Sein
- BESTE
- Best Practices
- zwischen
- Fehler
- Building
- by
- CAN
- Fähigkeiten
- Häuser
- Fälle
- verursacht
- Übernehmen
- geändert
- Änderungen
- eng
- Cloud
- Wolke native
- Code
- vergleichen
- Kompatibilität
- kompatibel
- abschließen
- Abgeschlossene Verkäufe
- Abschluss
- Abschluss
- Komponente
- Komponenten
- Konfiguration
- Widersprüchlich
- Verbindungen
- Geht davon
- Konsul (Console)
- Einschränkungen
- Container
- Beiträge
- Convention
- und beseitigen Muskelschwäche
- Kosten
- könnte
- Ländern
- erstellen
- erstellt
- schafft
- Erstellen
- Schaffung
- kritischem
- Strom
- Zur Zeit
- Kunden
- TAG
- technische Daten
- datengesteuerte
- Datenbase
- Standard
- liefern
- Demand
- abhängig
- Abhängig
- Bereitstellen
- entworfen
- Reiseziel
- Detail
- Details
- Entwickler
- Entwicklung
- DevOps
- anders
- Display
- Dokumentation
- Ausfallzeit
- angetrieben
- im
- Edge
- effektiv
- entweder
- freigegeben
- Ingenieur
- zu steigern,
- Erweiterung
- gewährleisten
- Ganz
- vollständig
- Arbeitsumfeld
- Umgebungen
- Fehler
- Äther (ETH)
- Event
- Beispiel
- Beispiele
- vorhandenen
- ERFAHRUNGEN
- erfahrensten
- ERKUNDEN
- scheitert
- Scheitern
- Merkmal
- Eigenschaften
- wenige
- Reichen Sie das
- Mappen
- Endlich
- Vorname
- folgen
- Folgende
- Aussichten für
- für
- funktional
- Funktionalität
- weiter
- GitHub
- die Vermittlung von Kompetenzen,
- hätten
- Haben
- mit
- he
- schwer
- Unternehmen
- höher
- seine
- historisch
- Geschichte
- STUNDEN
- aber
- HTML
- http
- HTTPS
- if
- Image
- Impact der HXNUMXO Observatorien
- Importe
- Verbesserungen
- in
- Einschließlich
- unvereinbar
- Anzeige
- Energiegewinnung
- Information
- Initiiert
- Installieren
- beantragen müssen
- Anleitung
- Integration
- Mittel
- unterbrochen
- eingeführt
- Einführung
- beteiligt
- iot
- Probleme
- IT
- SEINE
- jpg
- nur
- später
- neueste
- LERNEN
- lernen
- am wenigsten
- Bibliotheken
- Gefällt mir
- wahrscheinlich
- Limitiert
- Line
- Liste
- örtlich
- Log
- Maschine
- Maschinelles Lernen
- gemacht
- halten
- Dur
- um
- verwaltet
- Manager
- Managed
- manuell
- manuell
- markiert
- Spiel
- erwähnt
- Metadaten
- könnte
- migriert
- Migration
- Migration
- Geist / Bewusstsein
- Mildern
- modern
- Module
- mehr
- ziehen um
- sollen
- Namen
- Benennung
- nativen
- notwendig,
- Need
- erforderlich
- Bedürfnisse
- Vernetzung
- Neu
- neue Funktion
- Neue Funktionen
- neue Lösungen
- neu
- weiter
- jetzt an
- Anzahl
- of
- Alt
- on
- Einsen
- einzige
- Open-Source-
- Operator
- or
- Orchesterbearbeitung
- Auftrag
- Andere
- übrig
- Überblick
- Paket
- Pakete
- ausführen
- durchgeführt
- Phase
- Plattform
- Plato
- Datenintelligenz von Plato
- PlatoData
- Plugins
- Post
- Praktiken
- Vorbereitung
- Präsenz
- verhindert
- früher
- Prozessdefinierung
- Produkt
- Produkt-Manager
- Produktion
- Produkte
- zuverlässig
- die
- Versorger
- Python
- bereit
- Rekord
- Regionen
- eingetragen
- Release
- Mitteilungen
- ersetzen
- falls angefordert
- Voraussetzungen:
- Downloads
- wiederherstellen
- Halte
- Rückgabe
- zurückkehren
- Überprüfen
- Rollen
- Rollen
- Wenden
- Führen Sie
- Laufen
- Skalieren
- vorgesehen
- Planung
- nahtlos
- Auswahl
- Senior
- getrennte
- Serverlos
- dient
- Lösungen
- kompensieren
- sollte
- erklären
- signifikant
- ähnlich
- Einfacher
- einfach
- Größe
- Schnappschuss
- Software
- Software-Entwicklung
- Lösungen
- einige
- Quelle
- Raumfahrt
- Spezialist
- spezialisiert
- angegeben
- stabil
- Stufe
- Aufführung
- Beginnen Sie
- Startups
- Staaten
- Status
- Shritte
- Stoppt
- Lagerung
- einfach
- gestrafft
- Anschließend
- erfolgreich
- Erfolgreich
- so
- Unterstützte
- Nehmen
- Target
- und Aufgaben
- Technologie
- Telekommunikation
- Terraform
- Test
- Testen
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- ihr
- Sie
- dann
- Dort.
- deswegen
- Diese
- fehlen uns die Worte.
- Zeit
- zu
- Werkzeuge
- Top
- verfolgen sind
- Warenzeichen
- Transformieren
- Übergang
- auslösen
- XNUMX
- ui
- zugrunde liegen,
- verstehen
- Vereinigt
- USA
- bis
- Aktualisierung
- mehr Stunden
- Upgrade
- Upgrades
- -
- Anwendungsfall
- benutzt
- Mitglied
- Verwendung von
- Nutzen
- überprüfen
- Version
- Besuchen Sie
- warten
- wollte
- wurde
- Weg..
- we
- Netz
- Web-Server
- Web-Services
- waren
- wann
- welche
- während
- werden wir
- mit
- ohne
- Arbeiten
- Arbeiter
- Arbeiter
- Arbeitsablauf.
- Workflows
- arbeiten,
- Werk
- X
- Jahr
- U
- Ihr
- Zephyrnet