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 dieses Buckets basiert auf der Umgebungsregion, dem Namen und einer zufälligen ID wie z. B. us-central1-b1-6efabcde-bucket.

Cloud Composer synchronisiert bestimmte Ordner in mit den Airflow-Komponenten in Ihrer Umgebung zu. 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 Protokolle in der Google Cloud Console verfügbar.

Cloud Composer synchronisiert die Ordner dags/ und plugins/ unidirektional. Bei einer unidirektionalen Synchronisierung werden lokale Änderungen in diesen Ordnern in einer Airflow-Komponente überschrieben. Die Ordner data/ und logs/ werden bidirektional synchronisiert.

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 den Airflow-Planern und ‑Workern synchronisiert.

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

Je mehr Daten in diese Ordner verschoben werden, desto mehr Speicherplatz wird im lokalen Speicher der Airflow-Komponenten belegt. 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.

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

  • 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 ist der lokale Speicher des Workers aufgebraucht und die Synchronisierung kann nicht abgeschlossen werden.

Ordner „DAGs“ und „Plug-ins“

Um Fehler bei der DAG-Ausführung zu vermeiden, speichern Sie Ihre DAGs, Plug-ins und Python-Module in der 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. 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 während der DAG-Ausführung zum ersten Mal gelesen wird, synchronisiert Cloud Composer sie mit dem Worker, der die Ausführung durchfü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 von Airflow-Workern mit dem der Umgebung mit der Cloud Storage API erstellen.

Das Cloud Storage API-Kontingent wird anhand der Menge der verschobenen Daten berechnet. Die Anzahl der Airflow-Aufgaben, die auf Ihrem System ausgeführt werden, kann die Nutzung der Cloud Storage API erhöhen: Je mehr Aufgaben Sie ausführen, desto größer sind Ihre Protokolldateien.

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 bei Bedarf deaktivieren und aktivieren, ohne Dateien aus dem Bucket der Umgebung zu löschen.

Nächste Schritte