In Cloud Storage gespeicherte Daten

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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 des Buckets basiert auf der Umgebung Region, Name und eine zufällige ID wie us-central1-b1-6efabcde-bucket.

Cloud Composer synchronisiert bestimmte Ordner im Bucket Ihrer Umgebung mit Airflow-Komponenten, die in Ihrer Umgebung ausgeführt werden. Wenn Sie beispielsweise eine Datei mit dem Code Ihres Airflow-DAG im Bucket der Umgebung aktualisieren, erhalten auch die Airflow-Komponenten die aktualisierte Version. Cloud Composer verwendet Cloud Storage FUSE für die Synchronisierung.

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.
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.
Logs gs://bucket-name/logs /home/airflow/gcs/logs Speichert die Airflow-Logs für Aufgaben. Logs sind auch in der Airflow-Weboberfläche und auf dem Tab Protokolle in der Google Cloud Console verfügbar.

Cloud Composer synchronisiert die Ordner dags/ und plugins/ unidirektional. Unidirektionale Synchronisierung bedeutet, dass lokale Änderungen einer Airflow-Komponente überschrieben. Die Ordner data/ und logs/ werden bidirektional synchronisiert.

Die Datensynchronisierung unterliegt der Eventual Consistency. Verwenden Sie XComs, um Nachrichten von einem Operator an einen anderen zu senden.

Überlegungen zur Kapazität

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

Der Inhalt des Ordners plugins/ wird mit dem Airflow-Webserver synchronisiert.

Je mehr Daten in diesen Ordnern gespeichert werden, desto mehr Speicherplatz wird belegt im lokalen Speicher der Airflow-Komponenten. Wenn Sie zu viele Daten in dags/ und plugins/ speichern, kann das zu Unterbrechungen Ihrer Abläufe und zu Problemen wie den folgenden führen:

  • Ein Worker oder Scheduler hat keinen lokalen Speicherplatz mehr und wird aufgrund von nicht ausreichendem Speicherplatz auf dem lokalen Laufwerk der Komponente entfernt.

  • Die Synchronisierung von Dateien aus den Ordnern dags/ und plugins/ mit Workern und Schedulern dauert sehr lange.

  • Die Synchronisierung von Dateien aus den Ordnern dags/ und plugins/ mit Workern und Planern ist nicht mehr möglich. Angenommen, Sie speichern eine 2-GB-Datei im Ordner dags/, aber das lokale Laufwerk eines Airflow-Workers kann nur 1 GB aufnehmen. Während der Synchronisierung gehen die lokalen Ressourcen des Workers verloren. Speicher und Synchronisierung können nicht abgeschlossen werden.

Ordner für DAGs und Plug-ins

Speichern Sie zur Vermeidung von Fehlern bei der DAG-Ausführung Ihre DAGs, Plug-ins und Python-Module im Ordner dags/ oder plugins/. Dies gilt auch dann, wenn die Python-Module keine DAGs oder Plug-ins enthalten.

Angenommen, Sie verwenden eine DataFlowPythonOperator, die auf eine py_file-Dataflow-Pipeline verweist. Dass py_file keine DAGs oder Plug-ins, müssen aber im Ordner dags/ oder plugins/ gespeichert werden.

Datenordner

Es gibt Szenarien, in denen bestimmte Dateien aus dem Ordner data/ mit einer bestimmten Airflow-Komponente synchronisiert. Beispielsweise, wenn Cloud Composer versucht, eine bestimmte Datei zum ersten Mal zu lesen:

  • DAG-Parsing: Wenn eine Datei zum ersten Mal während des DAG-Parsings gelesen wird, Cloud Composer synchronisiert ihn mit dem Planer, der den DAG parst.

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

Der lokale Speicher von Airflow-Komponenten ist begrenzt. Löschen Sie daher diese Komponenten. um Speicherplatz in den Komponenten freizugeben. Beachten Sie, dass lokale Die Speichernutzung kann auch vorübergehend steigen, wenn gleichzeitige Aufgaben dieselbe Datei auf einen einzelnen Airflow-Worker herunterladen.

Ordner „Protokolle“

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

Das Cloud Storage API-Kontingent wird auf der Grundlage der verschobenen Daten berechnet, Die Anzahl der Airflow-Aufgaben, die Ihr System ausführt, kann steigen Ihre Cloud Storage API-Nutzung: Je mehr Aufgaben Sie ausführen, desto größer ist Ihr Log. -Dateien.

Synchronisierung mit dem Webserver

Der Ordner plugins/ wird automatisch mit dem Webserver synchronisiert, damit Plugins über die Airflow-Benutzeroberfläche geladen werden können. In Cloud Composer 3 können Sie Webserver-Plug-ins deaktivieren und aktivieren auf ohne Dateien aus dem Bucket der Umgebung zu löschen.

Nächste Schritte