Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird erläutert, wie Sie DAGs, Daten und Konfigurationen aus Ihren vorhandenen Cloud Composer 1-Umgebungen (Airflow 1) zu Cloud Composer 2 (Airflow 2) übertragen.
In dieser Migrationsanleitung wird die Funktion Snapshots verwendet.
Weitere Migrationsleitfäden
Von | Bis | Methode | Leitfaden |
---|---|---|---|
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Nebeneinander, mit Snapshots | Migrationsleitfaden (Snapshots) |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Nebeneinander, mit Snapshots | Dieses Handbuch (Snapshots) |
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Manuelle Übertragung nebeneinander | Manuelle Migration |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Manuelle Übertragung nebeneinander | Manuelle Migration |
Airflow 1 | Airflow 2 | Manuelle Übertragung nebeneinander | Manuelle Migration |
Hinweise
Snapshots werden in Cloud Composer 2 Version 2.0.9 und höher unterstützt. Cloud Composer 1 unterstützt das Speichern von Umgebungs-Snapshots in Version 1.18.5.
Cloud Composer unterstützt die parallele Migration von Cloud Composer 1 zu Cloud Composer 2. Es ist nicht möglich, ein direktes Upgrade von Cloud Composer 1 auf Cloud Composer 2 durchzuführen.
Sehen Sie sich die Liste der Unterschiede zwischen Cloud Composer 1 und Cloud Composer 2.
Die maximale Größe der Airflow-Datenbank, die Snapshots unterstützt, ist 20 GB. Wenn die Datenbank Ihrer Umgebung mehr als 20 GB belegt, verkleinern Sie die Größe der Airflow-Datenbank.
Die Gesamtzahl der Objekte in den Ordnern
/dags
,/plugins
und/data
im Bucket der Umgebung muss unter 100.000 liegen, damit Snapshots erstellt werden können.
Da Cloud Composer 2 Airflow 2 verwendet, umfasst die Migration das Wechseln Ihrer DAGs und der Umgebungskonfiguration zu Airflow 2. Informationen zu den funktionsgefährdenden Änderungen zwischen Airflow 1 und Airflow 2 in Cloud Composer finden Sie im Leitfaden für die Migration von Airflow 1 zu Airflow 2.
In diesem Leitfaden kombinieren Sie die Migration zu Airflow 2 und die Migration zu Cloud Composer 2 in einem Migrationsverfahren. Auf diese Weise müssen Sie vor der Migration zu Cloud Composer 2 nicht zu einer Cloud Composer 1-Umgebung mit Airflow 2 migrieren.
Schritt 1: Upgrade auf Airflow 1.10.15 ausführen
Wenn Ihre Umgebung eine Airflow-Version vor 1.10.15 verwendet, ein Upgrade Ihrer Umgebung Cloud Composer-Version, die Airflow 1.10.15 und unterstützt Snapshots.
Schritt 2: Kompatibilität mit Airflow 2 prüfen
Verwenden Sie Skripts zur Upgradeprüfung, die von Airflow in Ihrer vorhandenen Airflow 1.10.15-Umgebung bereitgestellt werden, um auf mögliche Konflikte mit Airflow 2 zu prüfen.
gcloud
Führen Sie Upgradeprüfungen mit dem Befehl
gcloud composer environments run
aus. Einige Upgradeprüfungen, die für den eigenständigen Airflow 1.10.15 relevant sind, sind für Cloud Composer nicht relevant. Der folgende Befehl schließt diese Prüfungen aus.gcloud composer environments run \ COMPOSER_1_ENV \ --location=COMPOSER_1_LOCATION \ upgrade_check \ -- --ignore VersionCheckRule --ignore LoggingConfigurationRule \ --ignore PodTemplateFileRule --ignore SendGridEmailerMovedRule
Ersetzen Sie:
COMPOSER_1_ENV
durch den Namen Ihrer Airflow 1.10.15-Umgebung.COMPOSER_1_LOCATION
durch die Region, in der sich die Umgebung befindet.
Prüfen Sie die Ausgabe des Befehls. Skripts zur Updateprüfung melden potenzielle Kompatibilitätsprobleme in vorhandenen Umgebungen.
Implementieren Sie weitere Änderungen an DAGs, wie im Leitfaden zum Upgrade auf Airflow 2.0 oder höher im Abschnitt Upgrade von DAGs beschrieben beschrieben.
Schritt 3: Prüfen, ob die DAGs für Airflow 2 bereit sind
Bevor Sie DAGs in Ihre Cloud Composer 2-Umgebung übertragen, müssen folgende Voraussetzungen erfüllt sein:
Upgradeprüfungs-Skripts für Ihre DAGs werden erfolgreich ausgeführt und es gibt keine weiteren Kompatibilitätsprobleme.
Ihre DAGs verwenden die richtigen Importanweisungen.
Die neue Importanweisung für
BigQueryCreateDataTransferOperator
kann beispielsweise so aussehen:from airflow.providers.google.cloud.operators.bigquery_dts \ import BigQueryCreateDataTransferOperator
Ihre DAGs werden für Airflow 2 aktualisiert. Diese Änderung ist mit Airflow 1.10.14 und höheren Versionen kompatibel.
Schritt 4: DAGs in der Cloud Composer 1-Umgebung pausieren
Pausieren Sie alle DAGs in Cloud Composer 1, um doppelte DAG-Ausführungen zu vermeiden. bevor Sie den Snapshot speichern.
Sie können eine der folgenden Optionen verwenden:
Airflow-Weboberfläche Rufen Sie DAGs auf und halten Sie alle DAGs manuell an.
Verwenden Sie das Skript composer_dags, um alle DAGs anzuhalten:
python3 composer_dags.py --environment COMPOSER_1_ENV \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ --operation pause
Ersetzen Sie:
COMPOSER_1_ENV
durch den Namen der Cloud Composer 1-Umgebung.PROJECT_ID
durch die Projekt-ID.COMPOSER_1_LOCATION
durch die Region, in der sich die Umgebung befindet.
Schritt 5: Snapshot der Cloud Composer 1-Umgebung speichern
Console
Erstellen Sie einen Snapshot Ihrer Umgebung:
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihres Cloud Composer 1-Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Klicken Sie auf Snapshot erstellen.
Klicken Sie im Dialogfeld Snapshot erstellen auf Senden. In in dieser Anleitung speichern Sie den Snapshot in der Cloud Composer 1-Umgebung. Bucket, aber Sie können bei Bedarf auch einen anderen Standort auswählen.
Warten Sie, bis Cloud Composer den Snapshot erstellt hat.
gcloud
Rufen Sie den Bucket-URI Ihrer Cloud Composer 1-Umgebung ab:
Führen Sie dazu diesen Befehl aus:
gcloud composer environments describe COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --format="value(config.dagGcsPrefix)"
Ersetzen Sie:
COMPOSER_1_ENV
durch den Namen Ihres Cloud Composer 1. zu verbessern.COMPOSER_1_LOCATION
durch die Region, in der sich die Umgebung befindet.
Entfernen Sie in der Ausgabe den Ordner
/dags
. Das Ergebnis ist der URI von den Bucket Ihrer Cloud Composer 1-Umgebung.Ändern Sie beispielsweise
gs://us-central1-example-916807e1-bucket/dags
ings://us-central1-example-916807e1-bucket
.
Erstellen Sie einen Snapshot Ihrer Cloud Composer 1-Umgebung:
gcloud composer environments snapshots save \ COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
Ersetzen Sie:
COMPOSER_1_ENV
durch den Namen der Cloud Composer 1-Umgebung.COMPOSER_1_LOCATION
durch die Region, in der sich die Cloud Composer 1-Umgebung befindet.COMPOSER_1_SNAPSHOTS_FOLDER
durch den URI des Buckets Ihrer Cloud Composer 1-Umgebung. In dieser Anleitung speichern Sie den Snapshot in der Datei den Bucket der Cloud Composer 1-Umgebung, Sie können jedoch einen an einem anderen Ort. Wenn Sie einen benutzerdefinierten Standort angeben, müssen die Dienstkonten beider Umgebungen haben Lese- und Schreibberechtigungen für den angegebenen Speicherort.
Schritt 6: Cloud Composer 2-Umgebung erstellen
Erstellen Sie eine Cloud Composer 2-Umgebung. Sie können mit einer Umgebungsvoreinstellung beginnen, die Ihren erwarteten Ressourcenanforderungen entspricht, und später Ihre Umgebung skalieren und weiter optimieren.
Sie müssen nicht Konfigurationsüberschreibungen und Umgebungsvariablen angeben, da Sie wenn Sie den Snapshot Ihrer Cloud Composer 1-Umgebung laden.
Einige Konfigurationsoptionen von Airflow 1 verwenden in Airflow 2 einen anderen Namen und Abschnitt. Weitere Informationen finden Sie unter Konfigurationsänderungen.
Schritt 7: Snapshot in die Cloud Composer 2-Umgebung laden
Console
So laden Sie den Snapshot in Ihre Cloud Composer 2-Umgebung:
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihres Cloud Composer 2-Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Klicken Sie auf Snapshot laden.
Klicken Sie im Dialogfeld Snapshot laden auf Durchsuchen.
Wählen Sie den Ordner mit dem Snapshot aus. Wenn Sie den Standardspeicherort für dieser Anleitung, dieser Ordner befindet sich in Ihrer Cloud Composer 1-Umgebung Bucket im Ordner
/snapshots
und sein Name ist der Zeitstempel der Snapshot-Speichervorgang Beispiel:us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00
Klicken Sie auf Laden und warten Sie, bis Cloud Composer den Snapshot geladen hat.
gcloud
Laden Sie den Snapshot Ihrer Cloud Composer 1-Umgebung in Ihre Cloud Composer 2-Umgebung hoch:
gcloud composer environments snapshots load \
COMPOSER_2_ENV \
--location COMPOSER_2_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Ersetzen Sie:
COMPOSER_2_ENV
durch den Namen der Cloud Composer 2-Umgebung.COMPOSER_2_LOCATION
durch die Region, in der sich die Cloud Composer 2-Umgebung befindet.SNAPSHOT_PATH
durch den URI von Cloud Composer 1. Bucket der Umgebung, gefolgt vom Pfad zum Snapshot. Beispiel:gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00
Schritt 8: Pausierung von DAGs in der Cloud Composer 2-Umgebung aufheben
Sie haben folgende Möglichkeiten:
Airflow-Weboberfläche Rufen Sie DAGs auf und heben Sie die Pausierung aller DAGs nacheinander auf.
Verwenden Sie das Script composer_dags, um die Pausierung aller DAGs aufzuheben:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation unpause
Ersetzen Sie:
COMPOSER_2_ENV
durch den Namen der Cloud Composer 2-Umgebung.PROJECT_ID
durch die Projekt-ID.COMPOSER_2_LOCATION
durch die Region, in der sich die Umgebung befindet.
Schritt 9: DAG-Fehler prüfen
Wechseln Sie in der Airflow-Weboberfläche zu DAGs und suchen Sie nach gemeldeten DAG-Syntaxfehlern.
Prüfen Sie, ob DAG-Ausführungen zum richtigen Zeitpunkt geplant sind.
Warten Sie, bis die DAG-Ausführungen in der Cloud Composer 2-Umgebung erfolgt sind, und prüfen Sie, ob sie erfolgreich waren. Wenn eine DAG-Ausführung erfolgreich war, haben Sie ihre Pausierung in der Cloud Composer 1-Umgebung nicht auf. Andernfalls wird in der Cloud Composer 1-Umgebung ein DAG zur selben Zeit und am selben Datum ausgeführt.
Wenn die Ausführung eines bestimmten DAG fehlschlägt, versuchen Sie, Fehlerbehebung für den DAG, bis er erfolgreich ist wird in Cloud Composer 2 ausgeführt.
Schritt 10: Cloud Composer 2-Umgebung überwachen
Nachdem Sie alle DAGs und Konfigurationen in die Cloud Composer 2-Umgebung übertragen haben, überwachen Sie diese auf potenzielle Probleme, fehlgeschlagene DAG-Ausführungen und den allgemeinen Umgebungsstatus.
Wenn die Cloud Composer 2-Umgebung für einen ausreichend langen Zeitraum problemlos ausgeführt wird, sollten Sie die Cloud Composer 1-Umgebung vielleicht löschen.
Nächste Schritte
- Fehlerbehebung bei DAGs
- Fehlerbehebung beim Erstellen der Umgebung
- Fehlerbehebung bei Umgebungsupdates
- Backport-Pakete verwenden