Umgebungen zu Cloud Composer 3 migrieren

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird erläutert, wie Sie DAGs, Daten und Konfiguration von Ihrem vorhandene Cloud Composer 2-Umgebung mit Cloud Composer 3 zu verknüpfen.

Hinweise

  • In dieser Migrationsanleitung werden Snapshots verwendet. Snapshots werden unterstützt in Cloud Composer 2 Version 2.0.9 und höher.

  • Cloud Composer unterstützt die parallele Migration von Cloud Composer 2 zu Cloud Composer 3. Es ist nicht möglich, ein direktes Upgrade von Cloud Composer 2 auf Cloud Composer 3 durchzuführen.

  • Überprüfen Sie die Liste der Unterschiede zwischen Cloud Composer 2 und Cloud Composer 3 Achten Sie darauf, dass in Ihrer Umgebung keine Funktionen verwendet werden, die in der öffentlichen Vorabversion von Cloud Composer 3 nicht verfügbar sind.

  • 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.

  • Wenn Sie den XCom-Mechanismus zum Übertragen von Dateien verwenden, achten Sie darauf, dass Sie ihn gemäß den Airflow-Richtlinien verwenden. Die Übertragung großer Dateien oder einer großen Anzahl von Dateien mit XCom wirkt sich auf die Leistung der Airflow-Datenbank aus und kann zu Fehlern beim Laden von Snapshots oder beim Upgraden Ihrer Umgebung führen. Erwägen Sie die Verwendung von Alternativen wie wie Cloud Storage, um große Datenmengen zu übertragen.

Prüfen, ob Ihre DAGs mit Cloud Composer 3 kompatibel sind

So sorgen Sie dafür, dass Ihre DAGs mit Cloud Composer 3 kompatibel sind:

  • Die Liste der Pakete in der Cloud Composer 3-Umgebung kann sich von der in Ihrer Cloud Composer 2-Umgebung unterscheiden. Dies kann sich auf die Kompatibilität Ihrer DAGs mit Cloud Composer 3 auswirken.

  • Cloud Composer lädt Konfigurationsüberschreibungen, Umgebungsvariablen und PyPI-Pakete aus dem Snapshot Ihrer Cloud Composer 2-Umgebung in Cloud Composer 3, ohne sie zu ändern oder an die Kompatibilität anzupassen. Wenn benutzerdefinierte PyPI-Pakete Abhängigkeitskonflikte verursachen, können Sie die Installation überspringen, wenn Sie den Snapshot laden.

  • In Cloud Composer 3 der Cluster der Umgebung sich im Mandantenprojekt befindet. Achten Sie darauf, dass Ihre DAGs ist mit dieser Änderung kompatibel. Insbesondere KubernetesPodOperator-Arbeitslasten werden jetzt unabhängig von und es ist nicht möglich, Pod-Affinitätskonfigurationen zu verwenden.

  • In Cloud Composer 3 kann nicht direkt auf die Airflow-Datenbank zugegriffen werden. Achten Sie darauf, dass Ihre DAGs mit dieser Änderung kompatibel sind.

DAGs in Ihrer Cloud Composer 2-Umgebung pausieren

Um doppelte DAG-Ausführungen zu vermeiden, sollten Sie alle DAGs in Ihrer Cloud Composer 2-Umgebung pausieren, bevor Sie den Snapshot speichern. DAG für Aktivitätsmonitoring überspringen (airflow_monitoring), wird er zu Monitoringzwecken verwendet und ist nicht enthalten. in Umgebungs-Snapshots.

Sie haben folgende Möglichkeiten, DAGs zu pausieren:

  • Pausieren Sie DAGs in der Google Cloud Console einzeln:

    1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

      Zur Seite „Umgebungen“

    2. Wählen Sie eine Umgebung aus, um die zugehörigen Details aufzurufen.

    3. Wechseln Sie auf der Seite Umgebungsdetails zum Tab DAGs.

    4. Klicken Sie auf den Namen eines DAG.

    5. Klicken Sie auf der Seite DAG-Details auf DAG pausieren.

  • Wechseln Sie in der Airflow-Weboberfläche zu DAGs und alle DAGs manuell anhalten.

  • Verwenden Sie das Skript composer_dags, um alle DAGs anzuhalten:

    python3 composer_dags.py --environment COMPOSER_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation pause
    

    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.

Snapshot Ihrer Cloud Composer 2-Umgebung speichern

Console

Erstellen Sie einen Snapshot Ihrer Umgebung:

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihres Cloud Composer 2-Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Klicken Sie auf Snapshot erstellen.

  4. Klicken Sie im Dialogfeld Snapshot erstellen auf Senden. In in dieser Anleitung, speichern Sie den Snapshot in der Cloud Composer 2-Umgebung Bucket, aber Sie können bei Bedarf auch einen anderen Standort auswählen. Wenn Sie einen benutzerdefinierten Standort angeben, die Dienstkonten beider Umgebungen müssen Lese- und Schreibberechtigungen für den angegebenen Speicherort haben.

  5. Warten Sie, bis Cloud Composer den Snapshot erstellt hat.

  6. Nachdem der Snapshot erstellt wurde, gibt die angezeigte Nachricht den Speicherort aus. des Snapshots. Diese Informationen speichern, um sie später beim Laden zu verwenden einen Snapshot in der Cloud Composer 3-Umgebung.

    Der Snapshot-Speicherort könnte beispielsweise so aussehen: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

gcloud

  1. Erstellen Sie einen Snapshot Ihrer Cloud Composer 2-Umgebung:

    gcloud composer environments snapshots save \
      COMPOSER_2_ENV \
      --location COMPOSER_2_LOCATION
    

    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.
    • (Optional) Mit dem Argument --snapshot-location können Sie Folgendes angeben: Ein benutzerdefinierter Speicherort, an dem der Snapshot der Umgebung gespeichert werden muss.

      In dieser Anleitung speichern Sie den Snapshot in der Datei Bucket der Cloud Composer 2-Umgebung, Sie können jedoch einen an einem anderen Ort. Wenn Sie einen benutzerdefinierten Speicherort angeben, müssen die Dienstkonten beider Umgebungen Lese- und Schreibberechtigungen für den angegebenen Speicherort haben.

  2. Nachdem der Snapshot erstellt wurde, gibt die angezeigte Nachricht den Speicherort aus. des Snapshots. Diese Informationen speichern, um sie später beim Laden zu verwenden einen Snapshot in der Cloud Composer 3-Umgebung.

    Die Snapshot-Position könnte beispielsweise so aussehen: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12

Cloud Composer 3-Umgebung erstellen

Erstellen Sie eine Cloud Composer 3-Umgebung mit folgendem Befehl: Richtlinien:

  • Sie können mit derselben Konfiguration der Ressourcenlimits wie in Ihrer Cloud Composer 2-Umgebung beginnen und die Konfiguration später weiter skalieren und optimieren.

  • In Cloud Composer 3-Umgebungen Airflow-DAG-Prozessor wird als separater Environment-Komponente. Da der DAG-Prozessor das Parsen von DAGs vom Planer übernimmt, sollten Sie Ressourcen, die zuvor Airflow-Planern zugewiesen waren, neu verteilen. Sie können dies später tun, nachdem Sie zu Cloud Composer 3 migriert und die Leistung des Schedulers und des DAG-Prozessors überwacht haben.

  • Cloud Composer 3 bietet ein optimiertes und vereinfachtes Netzwerk im Vergleich zu Cloud Composer 2. Sie können zwischen der Konfiguration von öffentlichen und privaten IP-Netzwerken wechseln und VPC-Netzwerke anhängen und trennen. IP-Bereiche müssen nicht angegeben werden . Netzwerk Ihrer Cloud Composer 3-Umgebung überprüfen Konfiguration mit der entsprechenden Cloud Composer 2-Konfiguration übereinstimmt.

  • Sie müssen keine Konfigurationsüberschreibungen und Umgebungsvariablen angeben da Sie sie später ersetzen, wenn Sie den Snapshot Ihrer Cloud Composer 2-Umgebung.

Snapshot in die Cloud Composer 3-Umgebung laden

Console

So laden Sie den Snapshot in Ihre Cloud Composer 3-Umgebung:

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihres Cloud Composer 3-Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Klicken Sie auf Snapshot laden.

  4. Klicken Sie im Dialogfeld Snapshot laden auf Durchsuchen.

  5. Wählen Sie den Ordner mit dem Snapshot aus.

    Wenn Sie den Standardspeicherort für diese Anleitung verwenden, befindet sich dieser Ordner im Bucket Ihrer Cloud Composer 2-Umgebung im Ordner /snapshots. Sein Name ist der Zeitstempel des Vorgangs zum Speichern des Snapshots. Das Gleiche Standort wurde in der Nachricht über die erfolgreiche Erstellung von angezeigt. der Momentaufnahme.

    Beispiel: us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

  6. Klicken Sie auf Laden und warten Sie, bis Cloud Composer den Snapshot geladen hat.

gcloud

Laden Sie den Snapshot Ihrer Cloud Composer 2-Umgebung in Ihre Cloud Composer 3-Umgebung:

gcloud composer environments snapshots load \
  COMPOSER_3_ENV \
  --location COMPOSER_3_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Ersetzen Sie:

  • COMPOSER_3_ENV durch den Namen Ihrer Cloud Composer 3-Umgebung.
  • COMPOSER_3_LOCATION durch die Region, in der sich Cloud Composer 3 befindet befindet.
  • SNAPSHOT_PATH durch den URI von Cloud Composer 2. Bucket der Umgebung, gefolgt vom Pfad zum Snapshot. Das Gleiche Standort wurde in der Nachricht über die erfolgreiche Erstellung von angezeigt. der Momentaufnahme. Beispiel: gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12.

Pausierung von DAGs in der Cloud Composer 3-Umgebung aufheben

Sie haben folgende Möglichkeiten:

  • So hebst du die Pausierung von DAGs in der Google Cloud Console einzeln auf:

    1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

      Zur Seite „Umgebungen“

    2. Wählen Sie eine Umgebung aus, um die zugehörigen Details anzusehen.

    3. Wechseln Sie auf der Seite Umgebungsdetails zum Tab DAGs.

    4. Klicken Sie auf den Namen eines DAG.

    5. Klicken Sie auf der Seite DAG-Details auf Pausierung des DAG aufheben.

  • Airflow-Weboberfläche Rufen Sie DAGs auf und heben Sie die Pausierung aller DAGs nacheinander auf.

  • Heben Sie mit dem Skript composer_dags die Pausierung aller DAGs auf:

      python3 composer_dags.py --environment COMPOSER_3_ENV \
      --project PROJECT_ID \
      --location COMPOSER_3_LOCATION \
      --operation unpause
    

    Ersetzen Sie:

    • COMPOSER_3_ENV durch den Namen Ihrer Cloud Composer 3-Umgebung.
    • PROJECT_ID durch die Projekt-ID.
    • COMPOSER_3_LOCATION durch die Region, in der sich die Umgebung befindet.

DAG-Fehler prüfen

  1. Wechseln Sie in der Airflow-Weboberfläche zu DAGs und suchen Sie nach gemeldeten DAG-Syntaxfehlern.

  2. Prüfen Sie, ob die DAG-Ausführungen für den richtigen Zeitpunkt geplant sind.

  3. Warten Sie, bis die DAG-Ausführung in der Cloud Composer 3-Umgebung ausgeführt wurde, und ob sie erfolgreich waren. Wenn die DAG-Ausführung erfolgreich war, Heben Sie die Pausierung in der Cloud Composer 2-Umgebung auf. ist in diesem Fall ein DAG, in Cloud Composer 2 am selben Datum und am selben Tag ausgeführt werden. zu verbessern.

  4. Wenn die Ausführung eines bestimmten DAG fehlschlägt, versuchen Sie, Fehlerbehebung für den DAG, bis er erfolgreich ist wird in Cloud Composer 3 ausgeführt.

Cloud Composer 3-Umgebung überwachen

Nach der Übertragung aller DAGs und der Konfiguration an Cloud Composer 3 und auf potenzielle Probleme, fehlgeschlagene DAG-Ausführungen Gesundheit im Blick.

Wenn die Cloud Composer 3-Umgebung ohne Probleme ausgeführt wird für einen ausreichenden Zeitraum haben, sollten Sie Cloud Composer 2 löschen. zu verbessern.

Nächste Schritte