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/
undplugins/
mit Workern und Schedulern dauert sehr lange.Die Synchronisierung von Dateien aus den Ordnern
dags/
undplugins/
mit Workern und Planern ist nicht mehr möglich. Angenommen, Sie speichern eine 2-GB-Datei im Ordnerdags/
, 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.