Cloud Composer 1 | Cloud Composer 2
Questa pagina fornisce informazioni per la risoluzione dei problemi che potresti riscontrare durante l'aggiornamento o l'upgrade degli ambienti Cloud Composer.
Per informazioni sulla risoluzione dei problemi relativi alla creazione di ambienti, consulta Risoluzione dei problemi di creazione dell'ambiente.
Quando gli ambienti di Cloud Composer vengono aggiornati, la maggior parte dei problemi si verifica per i seguenti motivi:
- Problemi relativi all'autorizzazione dell'account di servizio
- Problemi di dipendenza PyPI
- Dimensioni del database Airflow
Autorizzazioni insufficienti per aggiornare un ambiente
Se Cloud Composer non riesce ad aggiornare o eseguire l'upgrade di un ambiente a causa di autorizzazioni insufficienti, restituisce il seguente messaggio di errore:
ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission
Soluzione: assegna i ruoli sia al tuo account sia all'account di servizio del tuo ambiente come descritto in Controllo dell'accesso.
L'account di servizio dell'ambiente non ha autorizzazioni sufficienti
Quando crei un ambiente Cloud Composer, specifichi un account di servizio che esegue i nodi del cluster GKE dell'ambiente. Se questo account di servizio non dispone di autorizzazioni sufficienti per l'operazione richiesta, Cloud Composer restituisce un errore:
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
}
].
Soluzione: assegna i ruoli sia al tuo account sia all'account di servizio del tuo ambiente come descritto in Controllo dell'accesso.
Le dimensioni del database Airflow sono troppo grandi per eseguire l'operazione
Un'operazione di upgrade di Cloud Composer potrebbe non riuscire perché le dimensioni del database Airflow sono troppo grandi per la riuscita delle operazioni di upgrade.
Se le dimensioni del database Airflow sono superiori a 16 GB, Cloud Composer restituisce il seguente errore:
Airflow database uses more than 16 GB. Please clean the database before upgrading.
Soluzione: esegui la pulizia del database Airflow, come descritto in Manutenzione del database Airflow.
Un upgrade a una nuova versione di Cloud Composer non riesce a causa di conflitti di pacchetti PyPI
Quando esegui l'upgrade di un ambiente con pacchetti PyPI personalizzati installati, potresti riscontrare errori relativi a conflitti di pacchetti PyPI. Questo potrebbe accadere perché la nuova immagine di Cloud Composer contiene versioni più recenti dei pacchetti preinstallati che causano conflitti di dipendenze con i pacchetti PyPI installati nel tuo ambiente.
Soluzione:
- Per informazioni dettagliate sui conflitti di pacchetti, esegui un controllo dell'upgrade.
- Allenta i vincoli di versione per i pacchetti PyPI personalizzati installati. Ad esempio,
anziché specificare una versione come
==1.0.1
, specificala come>=1.0.1
. - Per ulteriori informazioni sulla modifica dei requisiti di versione per risolvere le dipendenze in conflitto, consulta la documentazione pip.
La mancanza di connettività al DNS può causare problemi durante l'esecuzione di upgrade o aggiornamenti
Questi problemi di connettività potrebbero generare voci di log simili alla seguente:
WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error
Di solito significa che non esiste una route al DNS, quindi assicurati che il nome DNS metadata.google.internal possa essere risolto in indirizzo IP dalle reti di cluster, pod e servizi. Verifica se hai attivato l'accesso privato Google all'interno del VPC (nel progetto host o di servizio) in cui è stato creato l'ambiente.
Ulteriori informazioni:
La CPU del triggerer supera il limite di 1 vCPU
Cloud Composer 2 nella versione 2.4.4 e successive introduce una diversa strategia di allocazione delle risorse dell'attivatore per migliorare la scalabilità delle prestazioni. Se si verifica un errore relativo alla CPU dell'attivatore durante l'aggiornamento di un ambiente, significa che gli attivatori attuali sono configurati in modo da utilizzare più di 1 vCPU per trigger.
Soluzione:
- Regola l'allocazione delle risorse dell'attivatore per soddisfare il limite di 1 vCPU.
- Se prevedi problemi con i DAG che utilizzano operatori differibili, ti consigliamo di aumentare anche il numero di attivatori.
Ispeziona gli avvisi di migrazione non riuscita
Quando esegui l'upgrade di Airflow a una versione successiva, a volte vengono applicati nuovi vincoli al database Airflow. Se non è possibile applicare questi vincoli, Airflow crea nuove tabelle per archiviare le righe a cui non è stato possibile applicare i vincoli. La UI di Airflow mostra un messaggio di avviso finché le tabelle di dati spostate non vengono rinominate o eliminate.
Soluzione:
Puoi utilizzare i due DAG seguenti per esaminare i dati spostati e rinominare le tabelle.
Il DAG list_moved_tables_after_upgrade_dag
elenca le righe che sono state spostate da
ogni tabella in cui non è stato possibile applicare i vincoli. Esaminate i dati e decidete
se volete conservarli. Per conservarlo, devi correggere manualmente i dati
nel database Airflow. Ad esempio, aggiungendo di nuovo le righe con i dati corretti.
Se i dati non ti servono o se li hai già corretti, puoi eseguire il DAG rename_moved_tables_after_upgrade_dag
. Questo DAG rinomina le tabelle spostate.
Le tabelle e i relativi dati non vengono eliminati, quindi puoi rivederli in un secondo momento.
Passaggi successivi
- Aggiornare gli ambienti
- Upgrade degli ambienti
- Risolvere i problemi relativi alla creazione dell'ambiente