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.
CPU-Limits für Trigger
In Cloud Composer 2.4.4 wird ein anderer Ansatz für die Leistungsskalierung für die Komponente Airflow-Triggerer eingeführt, der für alle Cloud Composer 2-Versionen gilt.
Vor Version 2.4.4 konnten Cloud Composer-Umgebungen maximal 1 oder 2 Triggermodule verwenden. Nach der Änderung können Sie bis zu 10 Trigger pro Umgebung haben, aber jeder Trigger ist auf maximal 1 vCPU beschränkt.
Umgebungsaktualisierungsvorgänge schlagen fehl, wenn Ihre Umgebung mit mehr als einer vCPU pro Trigger konfiguriert ist. Sie müssen die Konfiguration an das Limit von 1 vCPU anpassen, um Updates für andere Komponenten auszuführen.
Weitere Informationen finden Sie unter:
- Ressourcenzuweisung für Trigger konfigurieren
- Anzahl der Triggerer anpassen
- Fehlerbehebung beim Upgrade der Umgebung – CPU des Triggers überschritten
Auswirkungen von Updates auf laufende Airflow-Tasks
Wenn Sie einen Aktualisierungsvorgang 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,
Ausfallsicherheitsmodus der Umgebung ändern
Die folgenden Änderungen führen nicht zum Beenden von Airflow-Aufgaben:
- Erstellen, Aktualisieren oder Löschen eines DAG (kein Updatevorgang).
- 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.
Das Cloud Composer-Dienstkonto muss Berechtigungen zum Erstellen von Bindungen zwischen dem Dienstkonto Ihrer Umgebung und dem Kubernetes-Dienstkonto des Clusters Ihrer Umgebung haben.
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.