Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Auf dieser Seite wird beschrieben, wie eine Umgebung aktualisiert werden kann.
Aktualisierungsvorgänge
Wenn Sie Parameter Ihrer Umgebung ändern, z. B. neue Skalierungs- und Leistungsparameter angeben oder benutzerdefinierte PyPI-Pakete installieren, wird Ihre Umgebung aktualisiert.
Nach Abschluss dieses Vorgangs sind die Änderungen in Ihrer Umgebung verfügbar.
Für eine einzelne Cloud Composer-Umgebung kann jeweils nur ein Aktualisierungsvorgang gestartet werden. Sie müssen warten, bis ein Aktualisierungsvorgang abgeschlossen ist, bevor Sie einen weiteren Umgebungsvorgang starten.
Auswirkungen von Updates auf laufende Airflow-Tasks
Wenn Sie ein Update ausführen, müssen Airflow-Planer und ‑Worker in Ihrer Umgebung möglicherweise neu gestartet werden. In diesem Fall werden alle aktuell laufenden Aufgaben beendet. Nach Abschluss des Aktualisierungsvorgangs plant Airflow diese Aufgaben für einen Wiederholungsversuch ein, je nachdem, wie Sie Wiederholungsversuche für Ihre DAGs konfigurieren.
Die folgenden Änderungen führen zum Beenden von Airflow-Aufgaben:
- Upgrade Ihrer Umgebung auf eine neue Version
- Benutzerdefinierte PyPI-Pakete werden hinzugefügt, geändert oder gelöscht.
- Cloud Composer-Umgebungsvariablen ändern.
- Hinzufügen oder Entfernen von Überschreibungen von Airflow-Konfigurationsoptionen oder Ändern ihrer Werte.
- Ändern der CPU, des Arbeitsspeichers oder des Speichers von Airflow-Workern.
Die maximale Anzahl von Airflow-Workern wird reduziert, wenn der neue Wert niedriger als die Anzahl der aktuell ausgeführten Worker ist. Wenn in einer Umgebung beispielsweise derzeit drei Worker ausgeführt werden und das Maximum auf zwei reduziert wird,
Die folgenden Änderungen führen nicht zum Beenden von Airflow-Aufgaben:
- Erstellen, Aktualisieren oder Löschen einer DAG (kein Aktualisierungsvorgang).
- DAGs pausieren oder die Pausierung aufheben (kein Updatevorgang).
- Airflow-Variablen ändern (kein Updatevorgang).
- Airflow-Verbindungen ändern (kein Aktualisierungsvorgang).
- Aktivieren oder Deaktivieren der Einbindung von Dataplex Universal Catalog Data Lineage.
- Umgebungsgröße ändern
- Ändern der Anzahl der Planer.
- Ändern der CPU, des Arbeitsspeichers oder des Speichers von Airflow-Planern.
- Die Anzahl der Trigger ändern.
- Ändern der CPU, des Arbeitsspeichers oder des Speichers von Airflow-Triggern.
- Ändern der CPU, des Arbeitsspeichers oder des Speichers des Airflow-Webservers.
- Erhöhen oder verringern Sie die Mindestanzahl von Workern.
- Reduzieren Sie die maximale Anzahl von Airflow-Workern. Wenn in einer Umgebung beispielsweise derzeit zwei Worker ausgeführt werden und das Maximum auf drei reduziert wird.
- Wartungsfenster ändern
- Einstellungen für geplante Snapshots ändern
- Umgebungslabels ändern
Mit Terraform aktualisieren
Führen Sie terraform plan
vor terraform apply
aus, um zu prüfen, ob Terraform eine neue Umgebung erstellt, anstatt die vorhandene zu aktualisieren.
Hinweise
Prüfen Sie, ob Ihr Konto, das Dienstkonto Ihrer Umgebung und das Cloud Composer-Dienst-Agent-Konto in Ihrem Projekt die erforderlichen Berechtigungen haben:
Ihr Konto muss eine Rolle haben, die Umgebungsaktualisierungsvorgänge auslösen kann.
Das Dienstkonto Ihrer Umgebung muss eine Rolle haben, die ausreichende Berechtigungen zum Ausführen von Aktualisierungsvorgängen hat.
Der Befehl
gcloud composer environments update
wird beendet, wenn der Vorgang abgeschlossen ist. Mit dem Flag--async
können Sie vermeiden, dass Sie warten müssen, bis der Vorgang abgeschlossen ist.
Umgebungen aktualisieren
Weitere Informationen zum Aktualisieren Ihrer Umgebung finden Sie auf anderen Dokumentationsseiten zu bestimmten Aktualisierungsvorgängen. Beispiel:
- Airflow-Konfigurationsoptionen überschreiben
- Umgebungsvariablen festlegen
- Python-Abhängigkeiten installieren
Umgebungsdetails ansehen
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
gcloud
Führen Sie folgenden Befehl gcloud
aus:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.
API
Erstellen Sie eine API-Anfrage environments.get
.
Beispiel:
GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment
Terraform
Führen Sie den Befehl terraform state show
für die Ressource Ihrer Umgebung aus.
Der Name der Terraform-Ressource Ihrer Umgebung kann sich vom Namen Ihrer Umgebung unterscheiden.
terraform state show google_composer_environment.RESOURCE_NAME
Ersetzen Sie:
RESOURCE_NAME
durch den Namen der Ressourcen Ihrer Umgebung.
Änderungen an Updates rückgängig machen
In seltenen Fällen kann ein Updatevorgang unterbrochen werden (z. B. aufgrund eines Timeouts). Die angeforderten Änderungen werden dann möglicherweise nicht in allen Umgebungskomponenten (z. B. dem Airflow-Webserver) rückgängig gemacht.
Bei einem Updatevorgang werden beispielsweise zusätzliche PyPI-Module installiert oder entfernt, eine neue Airflow- oder Cloud Composer-Umgebungsvariable wird neu definiert oder definiert oder einige Airflow-bezogene Parameter werden geändert.
Eine solche Situation kann auftreten, wenn ein Aktualisierungsvorgang ausgelöst wird, während andere Vorgänge laufen, z. B. die automatische Skalierung eines Cloud Composer-Clusters oder ein Wartungsvorgang.
In diesem Fall empfiehlt es sich, den Vorgang zu wiederholen.
Dauer von Aktualisierungs- oder Upgradevorgängen
Die Dauer von Update- und Upgradevorgängen wird von den folgenden Faktoren beeinflusst:
Für die meisten Aktualisierungs- oder Upgradevorgänge müssen Airflow-Komponenten wie Airflow-Planer, -Worker und -Webserver neu gestartet werden. Nach dem Neustart einer Komponente muss sie initialisiert werden. Während der Initialisierung laden Airflow-Planer und -Worker die Inhalte der Ordner
/dags
und/plugins
aus dem Bucket der Umgebung herunter. Das Synchronisieren von Dateien mit Airflow-Planern und ‑Workern erfolgt nicht sofort, sondern hängt von der Gesamtgröße und Anzahl aller Objekte in diesen Ordnern ab.Wir empfehlen, nur DAG- und Plug-in-Dateien in den Ordnern
/dags
bzw./plugins
zu behalten und alle anderen Dateien zu entfernen. Zu viele Daten in den Ordnern/dags
und/plugins
können die Initialisierung von Airflow-Komponenten verlangsamen und in bestimmten Fällen unmöglich machen.Wir empfehlen, weniger als 30 MB Daten in den Ordnern
/dags
und/plugins
zu speichern und die Datengröße von 100 MB auf keinen Fall zu überschreiten. Weitere Informationen finden Sie auch unter Große Anzahl von DAGs und Plug-ins verarbeiten.Die Größe der Airflow-Datenbank kann die Dauer von Upgrade-Vorgängen erheblich verlängern. Wir empfehlen, die Größe der Airflow-Datenbank zu verwalten, indem Sie die Airflow-Datenbank Ihrer Umgebung verwalten.
Upgrade für den Maschinentyp für GKE-Knoten durchführen
Sie können den Maschinentyp für den GKE-Cluster Ihrer Umgebung manuell aktualisieren, indem Sie den vorhandenen default-pool
löschen und einen neuen default-pool
mit dem gewünschten Maschinentyp erstellen.
Wir empfehlen, beim Erstellen einer Umgebung einen geeigneten Maschinentyp für die Art von Computing anzugeben, die in Ihrer Cloud Composer-Umgebung ausgeführt wird.
Wenn Sie Jobs ausführen, die ressourcenintensive Berechnungen durchführen, sollten Sie GKE-Operatoren verwenden.
Nach einem Upgrade wird der vorherige Maschinentyp weiterhin in den Details Ihrer Umgebung aufgeführt. Auf der Seite „Umgebungsdetails“ wird beispielsweise nicht der neue Maschinentyp angezeigt.
Console
So aktualisieren Sie den Maschinentyp:
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Informationen zum Standardknotenpool abrufen:
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie auf den Link Clusterdetails aufrufen.
Klicken Sie auf der Seite „Cluster“ im Abschnitt Knoten auf default-pool.
Notieren Sie sich auf der Seite „Knotenpooldetails“ alle Informationen zu default-pool. Sie verwenden diese Informationen, um einen neuen Standardknotenpool für Ihre Umgebung zu erstellen.
So löschen Sie den default-pool:
Klicken Sie auf der Seite Knotenpooldetails auf den Zurückpfeil, um zur Seite Cluster für Ihre Umgebung zurückzukehren.
Klicken Sie im Abschnitt Knotenpools auf das Papierkorbsymbol für default-pool. Klicken Sie dann auf Löschen, um den Vorgang zu bestätigen.
So erstellen Sie den neuen default-pool:
an.Klicken Sie auf der Seite Cluster auf Knotenpool hinzufügen.
Geben Sie als Name
default-pool
ein. Sie müssen den Namendefault-pool
verwenden, damit Workflows in Ihrer Umgebung in diesem Pool ausgeführt werden können.Geben Sie die Einstellungen für Größe und Knoten ein.
(Nur für Compute Engine-Standarddienstkonten) Wählen Sie die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen als Zugriffsbereich aus.
Klicken Sie auf Speichern.
Wenn Sie feststellen, dass die Arbeitslasten ungleich verteilt sind, skalieren Sie das Deployment von airflow-worker auf null und dann wieder hoch.