In Cloud Storage gespeicherte Daten

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird beschrieben, welche Daten in Cloud Composer für Ihre Umgebung gespeichert werden in Cloud Storage.

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 in Ihrer Umgebung an Airflow-Komponenten an, die in Ihrer Umgebung ausgeführt werden. Wenn Sie beispielsweise eine Datei mit dem Code Ihres Airflow-DAG in der Bucket der Umgebung 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 Logs in der Google Cloud Console verfügbar.

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

Die Datensynchronisierung unterliegt der Eventual Consistency. Nachrichten senden von einem Operator zum anderen, Verwenden Sie XComs.

Überlegungen zur Kapazität

Daten aus den Ordnern dags/, plugins/ und data/ werden mit Airflow synchronisiert Planer und Worker.

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. Es werden zu viele Daten dags/ und plugins/ können Ihren Betrieb stören und unter anderem zu folgenden Problemen führen:

  • Einem Worker oder Planer geht der lokale Speicher aus und er wird entfernt, weil nicht genügend Speicherplatz auf der lokalen Festplatte der Komponente.

  • Synchronisierung von Dateien aus den Ordnern dags/ und plugins/ mit Workern und Planer sehr zeitaufwändig.

  • Dateien aus den Ordnern dags/ und plugins/ mit Workern und wird es unmöglich. Beispiel: Sie speichern eine 2-GB-Datei im dags/-Ordner, aber das lokale Laufwerk eines Airflow-Workers kann nur Platz für 1 GB. Während der Synchronisierung sind die lokalen Ressourcen des Workers aufgebraucht Speicher und Synchronisierung können nicht abgeschlossen werden.

Ordner für DAGs und Plug-ins

Um Fehler bei der DAG-Ausführung zu vermeiden, speichern Sie Ihre DAGs, Plug-ins und Python-Module im dags/- oder plugins/-Ordner, auch wenn die Python-Module keine DAGs enthalten oder Plug-ins.

Du verwendest beispielsweise ein DataFlowPythonOperator, das auf ein py_file verweist. Dataflow-Pipeline Dass py_file keine DAGs oder Plug-ins, müssen aber im Ordner dags/ oder plugins/ gespeichert werden.

Datenordner

Es kann vorkommen, dass bestimmte Dateien aus dem Ordner data/ mit einer bestimmten Airflow-Komponente synchronisiert. Wenn beispielsweise Während der folgenden Phasen versucht Cloud Composer, 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.

Logordner

Der Ordner logs/ wird von Airflow-Workern mit dem der Umgebung mit der Cloud Storage API erstellen.

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, sodass können über die Airflow-UI geladen werden.

Nächste Schritte