Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite finden Sie Informationen zur Fehlerbehebung bei Problemen, die beim Aktualisieren oder Upgraden von Managed Service for Apache Airflow-Umgebungen auftreten können.
Informationen zur Fehlerbehebung beim Erstellen von Umgebungen finden Sie unter Fehlerbehebung beim Erstellen der Umgebung.
Wenn Managed Airflow-Umgebungen aktualisiert werden, treten die meisten Probleme aus den folgenden Gründen auf:
- Probleme mit Dienstkontoberechtigungen
- Probleme mit der PyPI-Abhängigkeit
- Größe der Airflow-Datenbank
Unzureichende Berechtigungen zum Aktualisieren oder Upgraden einer Umgebung
Wenn Managed Airflow eine Umgebung aufgrund unzureichender Berechtigungen nicht aktualisieren oder upgraden kann, wird die folgende Fehlermeldung ausgegeben:
ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission
Lösung: Weisen Sie Ihrem Konto und dem Dienstkonto Ihrer Umgebung Rollen zu, wie unter Zugriffssteuerung beschrieben.
Das Dienstkonto der Umgebung hat nicht die erforderlichen Berechtigungen
Beim Erstellen einer Managed Airflow-Umgebung geben Sie ein Dienstkonto an, mit dem die meisten Vorgänge der Umgebung ausgeführt werden. Wenn dieses Dienstkonto nicht genügend Berechtigungen für den angeforderten Vorgang hat, gibt Managed Airflow einen Fehler aus:
UPDATE operation on this environment failed 3 minutes ago with the
following error message:
Composer Backend timed out. Currently running tasks are [stage:
CP_COMPOSER_AGENT_RUNNING
description: "No agent response published."
response_timestamp {
seconds: 1618203503
nanos: 291000000
}
].
Lösung: Weisen Sie Ihrem Google-Konto und dem Dienstkonto Ihrer Umgebung Rollen zu, wie unter Zugriffssteuerung beschrieben.
Die Airflow-Datenbank ist zu groß, um den Vorgang durchzuführen
Ein Upgrade-Vorgang ist möglicherweise nicht erfolgreich, da die Größe der Airflow-Datenbank für einen erfolgreichen Upgrade zu groß ist.
Wenn die Größe der Airflow-Datenbank mehr als 16 GB beträgt, gibt Managed Airflow den folgenden Fehler aus:
Airflow database uses more than 16 GB. Please clean the database before upgrading.
Lösung: Führen Sie eine Airflow-Datenbankbereinigung durch, wie unter Airflow-Datenbank bereinigen beschrieben.
Ein Upgrade auf eine neue Managed Airflow-Version schlägt aufgrund von PyPI-Paketkonflikten fehl
Wenn Sie eine Umgebung mit installierten benutzerdefinierten PyPI-Paketenaktualisieren, können Fehler im Zusammenhang mit PyPI-Paketkonflikten auftreten. Dies kann daran liegen, dass das neue Managed Service for Apache Airflow-Image neuere Versionen vorinstallierter Pakete enthält. Dies kann zu Abhängigkeitskonflikten mit PyPI-Paketen führen, die Sie in Ihrer Umgebung installiert haben.
Lösung:
- Führen Sie eine Upgradeprüfung durch, um detaillierte Informationen zu Paketkonflikten zu erhalten.
- Lockern Sie Versionseinschränkungen für installierte benutzerdefinierte PyPI-Pakete. Geben Sie beispielsweise
anstelle einer Version als
==1.0.1die Version>=1.0.1an. - Weitere Informationen zum Ändern von Versionsanforderungen, um in Konflikt stehende Abhängigkeiten zu beheben, finden Sie in der Dokumentation zu pip.
Es ist nicht möglich, eine Umgebung auf eine Version zu upgraden, die noch unterstützt wird
Managed Airflow-Umgebungen können nur auf einige der neuesten und vorherigen Versionen aktualisiert werden.
Die Versionseinschränkungen für das Erstellen neuer Umgebungen und das Upgraden vorhandener Umgebungen sind unterschiedlich. Die Managed Airflow-Version, die Sie beim Erstellen einer neuen Umgebung auswählen, ist möglicherweise nicht verfügbar, wenn Sie vorhandene Umgebungen upgraden.
Sie können den Upgrade-Vorgang mit der Google Cloud CLI, der API oder Terraform ausführen. In Google Cloud der Console sind nur die neuesten Versionen als Upgrade-Optionen verfügbar.
Umgebung ist nicht fehlerfrei (Liveness-Prüfung fehlgeschlagen)
Eine Umgebung kann nur aktualisiert werden, wenn ihr Status als fehlerfrei gemeldet wird.
Eine der häufigsten Ursachen für einen nicht fehlerfreien Status ist, dass die Komponenten der Umgebung sich den konfigurierten Ressourcenlimits nähern und ständig mit maximaler Last arbeiten. Da einige Umgebungskomponenten ihren Status nicht melden können, meldet der DAG für die Liveness-Prüfung den Status der Umgebung als nicht fehlerfrei.
Um dieses Problem zu beheben, empfehlen wir, die Ressourcenlimits zu erhöhen. Wir empfehlen, dass Ihre Umgebung die Limits nicht erreicht. Sie können dies aber auch nur für den Zeitraum tun, in dem Ihre Umgebung aktualisiert wird.
Fehlende Verbindung zu DNS kann Probleme beim Ausführen von Upgrades oder Updates verursachen
Solche Verbindungsprobleme können zu Logeinträgen wie diesem führen:
WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error
Das bedeutet in der Regel, dass es keine Route zu DNS gibt. Prüfen Sie daher, ob der DNS-Name metadata.google.internal aus den Netzwerken von Clustern, Pods und Diensten in eine IP-Adresse aufgelöst werden kann. Prüfen Sie, ob Sie den privater Google-Zugriff in der VPC (im Host- oder Dienstprojekt), in der Ihre Umgebung erstellt wurde, aktiviert haben.