Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Auf dieser Seite finden Sie Informationen zur Fehlerbehebung bei Problemen, die beim Aktualisieren oder Upgraden von Cloud Composer-Umgebungen auftreten können.
Informationen zur Fehlerbehebung beim Erstellen von Umgebungen finden Sie unter Fehlerbehebung bei der Erstellung von Umgebungen.
Wenn Cloud Composer-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 Cloud Composer 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 Cloud Composer-Umgebung geben Sie ein Dienstkonto an, das die meisten Vorgänge der Umgebung ausführt. Wenn dieses Dienstkonto nicht genügend Berechtigungen für den angeforderten Vorgang hat, gibt Cloud Composer 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ß für 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 20 GB beträgt, gibt Cloud Composer den folgenden Fehler aus:
Airflow database uses more than 20 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 Cloud Composer-Version schlägt aufgrund von PyPI-Paketkonflikten fehl
Wenn Sie eine Umgebung mit installierten benutzerdefinierten PyPI-Paketen aktualisieren, können Fehler im Zusammenhang mit PyPI-Paketkonflikten auftreten. Dies kann daran liegen, dass der neue Airflow-Build 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 für eine Version statt
==1.0.1
die Option>=1.0.1
ein. - Weitere Informationen zum Ändern von Versionsanforderungen, um in Konflikt stehende Abhängigkeiten zu beheben, finden Sie in der pip-Dokumentation.
Fehlgeschlagene Migrationswarnungen prüfen
Beim Upgrade von Airflow auf eine neuere Version werden manchmal neue Einschränkungen für die Airflow-Datenbank angewendet. Wenn diese Einschränkungen nicht angewendet werden können, erstellt Airflow neue Tabellen, in denen die Zeilen gespeichert werden, für die die Einschränkungen nicht angewendet werden konnten. In der Airflow-UI wird eine Warnmeldung angezeigt, bis die verschobenen Datentabellen umbenannt oder gelöscht werden.
Lösung:
Mit den folgenden beiden DAGs können Sie die migrierten Daten prüfen und die Tabellen umbenennen.
Im list_moved_tables_after_upgrade_dag
-DAG werden Zeilen aufgeführt, die aus jeder Tabelle verschoben wurden, in der keine Einschränkungen angewendet werden konnten. Sehen Sie sich die Daten an und entscheiden Sie, ob Sie sie behalten möchten. Wenn Sie sie behalten möchten, müssen Sie die Daten in der Airflow-Datenbank manuell korrigieren. Sie können beispielsweise die Zeilen mit den richtigen Daten wieder hinzufügen.
Wenn Sie die Daten nicht mehr benötigen oder das Problem bereits behoben haben, können Sie den rename_moved_tables_after_upgrade_dag
-DAG ausführen. In diesem DAG werden die verschobenen Tabellen umbenannt.
Die Tabellen und ihre Daten werden nicht gelöscht, sodass Sie die Daten später noch einmal ansehen können.