Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird erläutert, wie eine Umgebung aktualisiert werden kann.
Updatevorgä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 der zu verbessern.
Sie können für eine einzelne Cloud Composer-Umgebung nur eine starten gleichzeitig aktualisieren. Sie müssen warten, bis ein Aktualisierungsvorgang abgeschlossen ist bevor Sie einen anderen Umgebungsvorgang starten.
CPU-Beschränkungen für Trigger
Cloud Composer 2.4.4 führt einen anderen Ansatz zur Leistungsskalierung für die Komponente Airflow-Trigger ein, der für alle Cloud Composer 2-Versionen gilt.
Vor Version 2.4.4 konnten Cloud Composer-Umgebungen Verwenden Sie maximal 1 oder 2 Trigger. Nach der Änderung können Sie bis zu 10 Trigger pro Umgebung haben, Jeder Trigger ist jedoch auf maximal eine vCPU begrenzt.
Umgebungsaktualisierungen schlagen fehl, wenn für Ihre Umgebung mehr als eine vCPU pro Auslöser konfiguriert ist. Sie müssen die Konfiguration so anpassen, dass das Limit von einer vCPU erreicht wird, um Aktualisierungen anderer Komponenten vornehmen zu können.
Weitere Informationen finden Sie unter:
- Trigger-Ressourcenzuordnung konfigurieren
- Triggeranzahl anpassen
- Fehlerbehebung beim Upgrade einer Umgebung – CPU des Triggers überschritten
Auswirkungen von Updates auf laufende Airflow-Aufgaben
Wenn Sie einen Aktualisierungsvorgang ausführen, müssen die Airflow-Planer und ‑Worker in Ihrer Umgebung möglicherweise neu gestartet werden. In diesem Fall werden alle derzeit laufenden Aufgaben beendet. Nachdem der Aktualisierungsvorgang abgeschlossen ist, abgeschlossen ist, plant Airflow einen Wiederholungsversuch für diese Aufgaben, je nachdem, wie Sie Wiederholungsversuche für Ihre DAGs konfigurieren.
Die folgenden Änderungen bedingen Beendigung der Airflow-Aufgabe:
- Upgrade der Umgebung auf eine neue Version
- Benutzerdefinierte PyPI-Pakete hinzufügen, ändern oder löschen
- Cloud Composer-Umgebungsvariablen ändern
- Überschreibungen von Airflow-Konfigurationsoptionen hinzufügen oder entfernen oder ihre Werte ändern
- CPU, Arbeitsspeicher oder Speicherplatz von Airflow-Workern ändern
- Die maximale Anzahl der Airflow-Worker wird reduziert, wenn der neue Wert niedriger ist als die Anzahl der aktuell ausgeführten Worker. Beispiel: In einer Umgebung werden derzeit drei Worker ausgeführt und die maximale Anzahl wird auf zwei reduziert.
- Ausfallsicherheitsmodus der Umgebung ändern
Die folgenden Änderungen führen nicht dazu, dass Airflow-Aufgaben beendet werden:
- Erstellen, Aktualisieren oder Löschen einer DAG (kein Aktualisierungsvorgang)
- DAGs anhalten oder pausieren (kein Aktualisierungsvorgang)
- Ändern von Airflow-Variablen (kein Aktualisierungsvorgang)
- Airflow-Verbindungen ändern (kein Aktualisierungsvorgang).
- Dataplex Data Lineage-Integration aktivieren oder deaktivieren
- Größe der Umgebung ändern
- Anzahl der Planer ändern
- CPU, Arbeitsspeicher oder Speicherplatz der Airflow-Planer ändern
- Anzahl der Trigger ändern
- CPU, Arbeitsspeicher oder Speicherplatz von Airflow-Triggern ändern
- CPU, Arbeitsspeicher oder Speicher des Airflow-Webservers ändern
- Mindestanzahl von Workern erhöhen oder verringern
- Reduzieren Sie die maximale Anzahl von Airflow-Workern. Beispiel: In einer Umgebung werden derzeit zwei Worker ausgeführt und die maximale Anzahl wird auf drei reduziert.
- 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 sie zu aktualisieren.
Hinweise
Prüfen Sie, ob Ihr Konto, das Dienstkonto Ihrer Umgebung und dem Cloud Composer-Dienst-Agent-Konto in Ihrem Projekt Erforderliche Berechtigungen:
Ihr Konto muss eine Rolle haben, die Aktualisierungen der Umgebung auslösen.
Das Dienstkonto Ihrer Umgebung muss eine Rolle haben, die über ausreichende Berechtigungen zum Ausführen von Aktualisierungsvorgängen verfügt.
Das Konto des Cloud Composer-Dienst-Agents muss folgende Voraussetzungen erfüllen: Berechtigungen zum Erstellen von Bindungen zwischen das Dienstkonto Ihrer Umgebung und das Kubernetes-Dienstkonto für den Cluster Ihrer Umgebung.
Der Befehl
gcloud composer environments update
wird beendet, wenn der abgeschlossen ist. Mit dem Flag--async
vermeiden Sie Wartezeiten für um den Vorgang abzuschließen.
Umgebungen aktualisieren
Weitere Informationen zum Aktualisieren der Umgebung finden Sie in der anderen Dokumentation zu bestimmten Aktualisierungsvorgängen. Beispiel:
- Airflow-Konfigurationsoptionen überschreiben
- Umgebungsvariablen festlegen
- Python-Abhängigkeiten installieren
- Umgebungen skalieren
- Autorisierte Netzwerke konfigurieren
- Umgebungen auf hohe Ausfallsicherheit aktualisieren
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 Ressource Ihrer Umgebung.
Änderungen durch Updates rückgängig machen
In seltenen Fällen kann ein Aktualisierungsvorgang unterbrochen werden (z. B. aufgrund einer Zeitüberschreitung) und die angeforderten Änderungen werden möglicherweise in allen Umgebungskomponenten (z. B. im Airflow-Webserver) zurückgesetzt werden.
Beispielsweise können durch einen Aktualisierungsvorgang zusätzliche PyPI-Module, um einen neuen Airflow oder Cloud Composer neu zu definieren oder zu definieren oder einige Airflow-bezogene Parameter ändern.
Eine solche Situation kann auftreten, wenn ein Aktualisierungsvorgang ausgelöst wird, wenn andere ausgeführte Vorgänge, z. B. ein Autoscaling oder einen Wartungsvorgang.
In diesem Fall empfehlen wir, den Vorgang zu wiederholen.
Dauer von Aktualisierungs- oder Upgrade-Vorgängen
Die meisten Aktualisierungs- oder Upgradevorgänge erfordern einen Neustart von Airflow-Komponenten wie Airflow-Planer, Worker und Webserver.
Nachdem eine Komponente neu gestartet wurde, muss sie initialisiert werden. Während der
Initialisierung, Airflow-Planer und -Worker laden den Inhalt von /dags
herunter
und /plugins
Ordner aus dem Bucket der Umgebung. Die Synchronisierung von Dateien mit Airflow-Planern und ‑Workern erfolgt nicht sofort und hängt von der Gesamtgröße und der Anzahl aller Objekte in diesen Ordnern ab.
Wir empfehlen, nur DAG- und Plug-in-Dateien in /dags
und /plugins
beizubehalten.
und entfernen Sie alle anderen Dateien. Zu viele Daten in den Ordnern /dags
und /plugins
können die Initialisierung von Airflow-Komponenten verlangsamen und in bestimmten Fällen sogar verhindern.
Wir empfehlen, in den Ordnern /dags
und /plugins
weniger als 30 MB an Daten zu speichern und die Datengröße auf keinen Fall auf 100 MB zu erhöhen.
Weitere Informationen finden Sie unter: