In Cloud Storage gespeicherte Daten

Cloud Composer 1 Cloud Composer 2

Auf dieser Seite wird erläutert, welche Daten von Cloud Composer für Ihre Umgebung in Cloud Storage gespeichert werden.

Beim Erstellen einer Umgebung wird von Cloud Composer ein Cloud Storage-Bucket erstellt und Ihrer Umgebung zugeordnet. Der Name dieses Buckets basiert auf der Umgebungsregion, dem Namen und einer zufälligen ID wie z. B. us-central1-b1-6efannnn-bucket.

Cloud Composer erwartet den Quellcode für Ihre Workflows (DAGs) und deren Abhängigkeiten in bestimmten Ordnern in Cloud Storage und ordnet die Ordner mithilfe von Cloud Storage FUSE den Airflow-Komponenten in Ihrer Cloud Composer-Umgebung zu.

Ordner im Cloud Storage-Bucket

Ordner Speicherpfad Zugeordnetes Verzeichnis Beschreibung
DAG gs://bucket-name/dags /home/airflow/gcs/dags Speichert die DAGs für Ihre Umgebung. Nur die DAGs in diesem Ordner sind für Ihre Umgebung geplant.
Plug-ins gs://bucket-name/plugins /home/airflow/gcs/plugins Speichert Ihre benutzerdefinierten Plug-ins, wie z. B. benutzerdefinierte interne Airflow-Operatoren, Hooks, Sensoren oder Oberflächen.
Daten gs://bucket-name/data /home/airflow/gcs/data Speichert die Daten, die Aufgaben generieren und verwenden. Dieser Ordner wird auf allen Arbeitsknoten bereitgestellt.
Logs gs://bucket-name/logs Speichert die Airflow-Logs für Aufgaben. Logs sind auch in der Airflow-Weboberfläche und auf dem Tab „Logs“ in der Cloud Composer-UI verfügbar.

Überlegungen zur Kapazität

Daten aus den Ordnern dags/, plugins/ und data/ werden mit Airflow-Planern und -Workern synchronisiert.

  • In Airflow 2 wird der Inhalt des Ordners plugins/ auch mit dem Airflow-Webserver synchronisiert.

  • In Airflow 1 werden die Inhalte dags/ und plugins/ nur dann mit dem Airflow-Webserver synchronisiert, wenn die DAG-Serialisierung deaktiviert ist. Andernfalls wird die Synchronisierung nicht ausgeführt.

Je mehr Daten in diesen Ordnern abgelegt werden, desto mehr Speicherplatz ist im lokalen Speicher der Airflow-Komponenten belegt. Wenn zu viele Daten in dags/ und plugins/ gespeichert werden, kann das zu Betriebsstörungen und folgenden Problemen führen:

  • Ein Worker oder ein Planer hat keinen lokalen Speicher mehr und wird aufgrund unzureichenden Speicherplatzes auf dem lokalen Laufwerk der Komponente entfernt.

  • Die Synchronisierung von Dateien aus den Ordnern dags/ und plugins/ mit Workern und Planern nimmt viel Zeit in Anspruch.

  • Dateien aus den Ordnern dags/ und plugins/ können nicht mehr mit Workern und Planern synchronisiert werden. Beispiel: Sie speichern eine Datei mit 2 GB im Ordner dags/, aber das lokale Laufwerk Ihrer Komponente kann nur 1 GB aufnehmen. Während der Synchronisierung ist der lokale Speicher der Komponente nicht mehr verfügbar und die Synchronisierung kann nicht abgeschlossen werden.

DAGs und Plug-ins

Speichern Sie Ihre DAGs, Plug-ins und Python-Module in den Ordnern dags/ oder plugins/, um Workflowfehler zu vermeiden, auch wenn die Python-Module keine DAGs oder Plug-ins enthalten.

Sie verwenden beispielsweise einen DataFlowPythonOperator, der auf eine py_file-Datenflusspipeline verweist. Das py_file enthält keine DAGs oder Plug-ins. Sie sollten es aber im Ordner dags/ oder plugins/ speichern.

Daten

Es gibt Szenarien, in denen bestimmte Dateien aus dem Ordner data/ mit einer bestimmten Airflow-Komponente synchronisiert werden. Das ist beispielsweise der Fall, wenn Cloud Composer zum ersten Mal versucht, eine bestimmte Datei während eines der folgenden Ereignisse zu lesen:

  • DAG-Parsing Wenn eine Datei beim DAG-Parsing zum ersten Mal gelesen wird, synchronisiert Cloud Composer sie mit dem Planer, der den DAG analysiert.

  • DAG-Ausführung Wenn eine Datei während der DAG-Ausführung zum ersten Mal gelesen wird, synchronisiert Cloud Composer sie mit dem Worker, der die Ausführung ausführt.

Airflow-Komponenten haben nur begrenzten lokalen Speicherplatz. Daher sollten Sie heruntergeladene Dateien löschen, um Speicherplatz in Ihren Komponenten freizugeben. Beachten Sie, dass die lokale Speichernutzung auch vorübergehend steigen kann, wenn Sie gleichzeitige Aufgaben haben, die dieselbe Datei auf einen einzelnen Airflow-Worker herunterladen.

Logs

Der Ordner logs/ wird über die Cloud Storage API von Airflow-Workern mit dem Bucket synchronisiert.

Das Cloud Storage API-Kontingent wird nach der Menge der verschobenen Daten berechnet. Die Anzahl der Airflow-Aufgaben, die Ihr System ausführt, kann also die Nutzung der Cloud Storage API erhöhen: Je mehr Aufgaben Sie ausführen, desto größer sind die Logdateien.

Webserver, dags/, plugins/ und data/ Ordner

  • Airflow 2 verwendet die DAG-Serialisierung standardmäßig. Der Ordner plugins/ wird automatisch mit dem Webserver synchronisiert, sodass Plug-ins über die Airflow-UI geladen werden können. Sie können die DAG-Serialisierung in Airflow 2 nicht deaktivieren.

  • In Airflow 1 wird die DAG-Serialisierung unterstützt und in Cloud Composer standardmäßig aktiviert.

    • Wenn die DAG-Serialisierung aktiviert ist, werden die Dateien aus den Ordnern dags/ und plugins/ nicht mit dem Webserver synchronisiert.
    • Wenn die DAG-Serialisierung deaktiviert ist, werden die Dateien von dags/ und plugins/ mit dem Webserver synchronisiert.

Datensynchronisierung

Wenn Sie DAGs oder Plug-ins im Cloud Storage-Bucket ändern, werden die Daten auf allen Knoten im Cluster synchronisiert.

Cloud Composer synchronisiert die Ordner dags/ und plugins/ unidirektional durch lokales Kopieren. Unidirektionale Synchronisierung bedeutet, dass lokale Änderungen in diesen Ordnern überschrieben werden.

Die Ordner data/ und logs/ werden mit Cloud Storage FUSE bidirektional synchronisiert.

Unterschiede zwischen Cloud Composer 1 und Cloud Composer 2

Cloud Composer 1 und Cloud Composer 2 weisen den Komponenten, die die Datensynchronisierung durchführen, unterschiedliche CPU- und Arbeitsspeichermengen zu.

Je nach Konfiguration kann sich die Geschwindigkeit der Inhaltssynchronisierung für die Ordner dags/, plugins/ und data/ zwischen dem Cloud Storage-Bucket und den Airflow-Komponenten unterscheiden, wenn Sie Cloud Composer 1 und Cloud Composer 2 vergleichen.

Nächste Schritte