Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina elenca i problemi noti di Cloud Composer. Per informazioni sulle correzioni dei problemi, consulta le note di rilascio.
La prima esecuzione di un file DAG caricato presenta diverse attività non riuscite
Quando carichi un file DAG, a volte le prime attività del primo DAG eseguito non vanno a buon fine con l'errore Unable to read remote log...
. Questo
problema si verifica perché il file DAG è sincronizzato tra il
bucket, i worker e gli scheduler di Airflow del tuo
ambiente. Se lo scheduler riceve il file DAG e lo pianifica per l'esecuzione da parte di un worker e se il worker non ha ancora il file DAG, l'esecuzione dell'attività non va a buon fine.
Per mitigare il problema, gli ambienti con Airflow 2 sono configurati per eseguire per impostazione predefinita due nuovi tentativi per un'attività non riuscita. Se un'attività non va a buon fine, viene riprovata due volte con intervalli di 5 minuti.
Cloud Composer non dovrebbe essere interessato dalla vulnerabilità di Apache Log4j 2 (CVE-2021-44228)
In risposta alla vulnerabilità di Apache Log4j 2 (CVE-2021-44228), Cloud Composer ha condotto un'indagine dettagliata e riteniamo che Cloud Composer non sia vulnerabile a questo exploit.
A volte l'interfaccia utente di Airflow potrebbe non ricaricare un plug-in dopo averlo modificato
Se un plug-in è costituito da molti file che importano altri moduli, l'interfaccia utente di Airflow potrebbe non essere in grado di riconoscere che un plug-in deve essere caricato di nuovo. In questo caso, riavvia il server web di Airflow del tuo ambiente.
Errore 504 durante l'accesso all'interfaccia utente di Airflow
Puoi ricevere l'errore 504 Gateway Timeout
quando accedi all'interfaccia utente di Airflow. Questo errore può avere diverse cause:
Problema di comunicazione transitorio. In questo caso, prova ad accedere all'interfaccia utente di Airflow in un secondo momento. Puoi anche riavviare il server web Airflow.
(Solo Cloud Composer 3) Problema di connettività. Se l'interfaccia utente di Airflow non è più disponibile e vengono generati errori di timeout o 504, assicurati che il tuo ambiente possa accedere a
*.composer.googleusercontent.com
.(Solo Cloud Composer 2) Problema di connettività. Se l'interfaccia utente di Airflow non è più disponibile e vengono generati errori di timeout o 504, assicurati che il tuo ambiente possa accedere a
*.composer.cloud.google.com
. Se utilizzi Accesso privato Google e invii traffico tramite IP virtualiprivate.googleapis.com
o Controlli di servizio VPC e invii traffico tramite IP virtualirestricted.googleapis.com
, assicurati che Cloud DNS sia configurato anche per i nomi di dominio*.composer.cloud.google.com
.Server web Airflow non risponde. Se l'errore 504 persiste, ma riesci comunque ad accedere all'interfaccia utente di Airflow in determinati momenti, il server web di Airflow potrebbe non rispondere perché è sovraccaricato. Prova a aumentare i parametri di scalabilità e prestazioni del server web.
Errore 502 durante l'accesso all'interfaccia utente di Airflow
L'errore 502 Internal server exception
indica che l'interfaccia utente di Airflow non può gestire le richieste in arrivo. Questo errore può avere diverse cause:
Problema di comunicazione transitorio. Prova ad accedere all'interfaccia utente di Airflow in un secondo momento.
Impossibile avviare il server web. Per iniziare, il server web richiede prima di sincronizzare i file di configurazione. Controlla i log del server web per verificare la presenza di voci simili a:
GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp
oGCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp
. Se visualizzi questi errori, controlla se i file menzionati nei messaggi di errore sono ancora presenti nel bucket dell'ambiente.In caso di rimozione accidentale (ad esempio perché è stata configurata una norma di conservazione), puoi ripristinarle:
Imposta una nuova variabile di ambiente nel tuo ambiente. Puoi utilizzare qualsiasi nome e valore della variabile.
Esegui l'override di un'opzione di configurazione di Airflow. Puoi utilizzare un'opzione di configurazione di Airflow non esistente.
Il passaggio del mouse sopra l'istanza dell'attività nella visualizzazione ad albero genera un TypeError non rilevato
In Airflow 2, a volte la visualizzazione ad albero nell'interfaccia utente di Airflow potrebbe non funzionare correttamente se viene utilizzato un fuso orario diverso da quello predefinito. Come soluzione alternativa a questo problema, configura il fuso orario in modo esplicito nell'interfaccia utente di Airflow.
Cartelle vuote in Scheduler e Workers
Cloud Composer non rimuove attivamente le cartelle vuote dai worker e dagli scheduler di Airflow. Queste entità potrebbero essere state create a seguito della procedura di sincronizzazione del bucket dell'ambiente quando queste cartelle esistevano nel bucket e sono state eventualmente rimosse.
Consiglio: modifica i DAG in modo che siano pronti a saltare queste directory vuote.
Queste entità vengono eventualmente rimosse dagli spazi di archiviazione locali degli pianificatori e dei worker di Airflow quando questi componenti vengono riavviati (ad esempio a seguito di operazioni di ridimensionamento o manutenzione nel cluster dell'ambiente).
Supporto di Kerberos
Cloud Composer non supporta la configurazione Kerberos di Airflow.
Supporto per le classi di calcolo in Cloud Composer 2 e Cloud Composer 3
Cloud Composer 3 e Cloud Composer 2 supportano solo la classe di calcolo general purpose. Ciò significa che non è possibile eseguire pod che richiedono altre classi di calcolo (ad esempio Equilibrato o Scalabilità orizzontale).
La classe general purpose consente di eseguire pod che richiedono fino a 110 GB di memoria e fino a 30 CPU (come descritto in Richieste massime della classe di calcolo.
Se vuoi utilizzare un'architettura basata su ARM o hai bisogno di più CPU e memoria, devi utilizzare una classe di calcolo diversa, che non è supportata nei cluster Cloud Composer 3 e Cloud Composer 2.
Consiglio: utilizza GKEStartPodOperator
per eseguire i pod Kubernetes su un altro cluster che supporta la classe di calcolo selezionata. Se esegui pod personalizzati che richiedono una classe di calcolo diversa, devono essere eseguiti anche su un cluster non Cloud Composer.
Non è possibile ridurre lo spazio di archiviazione di Cloud SQL
Cloud Composer utilizza Cloud SQL per eseguire il database Airflow. Nel tempo, lo spazio di archiviazione del disco per l'istanza Cloud SQL potrebbe aumentare perché il disco viene scalato in base ai dati archiviati dalle operazioni Cloud SQL quando il database Airflow cresce.
Non è possibile ridurre le dimensioni del disco Cloud SQL.
Come soluzione alternativa, se vuoi utilizzare la dimensione del disco Cloud SQL più piccola, puoi ricreare gli ambienti Cloud Composer con gli snapshot.
La metrica Utilizzo del disco del database non si riduce dopo la rimozione dei record da Cloud SQL
I database relazionali, come Postgres o MySQL, non rimuovono fisicamente le righe quando vengono eliminate o aggiornate. Le contrassegna come "tuple non attive" per mantenere la coerenza dei dati ed evitare di bloccare le transazioni concorrenti.
Sia MySQL che Postgres implementano meccanismi di recupero dello spazio dopo l'eliminazione delle record.
Sebbene sia possibile forzare il database a recuperare lo spazio su disco inutilizzato, si tratta di un'operazione che richiede molte risorse e che blocca inoltre il database rendendo Cloud Composer non disponibile. Pertanto, ti consigliamo di fare affidamento sui meccanismi di compilazione per recuperare lo spazio inutilizzato.
Accesso bloccato: errore di autorizzazione
Se questo problema riguarda un utente, la finestra di dialogo
Accesso bloccato: errore di autorizzazione contiene il messaggio
Error 400: admin_policy_enforced
.
Se l'opzione Controlli API > App di terze parti non configurate > Non consentire agli utenti di accedere alle app di terze parti è attivata in Google Workspace e l'app Apache Airflow in Cloud Composer non è consentita esplicitamente, gli utenti non possono accedere all'interfaccia utente di Airflow a meno che non consentano esplicitamente l'applicazione.
Per consentire l'accesso, svolgi i passaggi descritti in Consentire l'accesso all'interfaccia utente di Airflow in Google Workspace.
Loop di accesso quando si accede all'interfaccia utente di Airflow
Questo problema potrebbe essere dovuto alle seguenti cause:
Se le associazioni di accesso sensibile al contesto di Chrome Enterprise Premium vengono utilizzate con livelli di accesso basati sugli attributi del dispositivo e l'app Apache Airflow in Cloud Composer non è esente, non è possibile accedere all'interfaccia utente di Airflow a causa di un ciclo di accesso. Per consentire l'accesso, segui i passaggi descritti in Consentire l'accesso all'interfaccia utente di Airflow nelle associazioni di Accesso sensibile al contesto.
Se le regole di ingresso sono configurate in un perimetro di Controlli di servizio VPC che protegge il progetto e la regola di ingresso che consente l'accesso al servizio Cloud Composer utilizza il tipo di identità
ANY_SERVICE_ACCOUNT
oANY_USER_ACCOUNT
, gli utenti non possono accedere all'interfaccia utente di Airflow e si ritrovano in un loop di accesso. Per ulteriori informazioni su come gestire questo scenario, consulta Consentire l'accesso all'interfaccia utente di Airflow nelle regole di ingresso dei Controlli di servizio VPC.
I componenti Airflow hanno problemi di comunicazione con altre parti della configurazione di Cloud Composer
In casi molto rari, la lentezza della comunicazione con il server di metadati di Compute Engine potrebbe causare il malfunzionamento dei componenti di Airflow. Ad esempio, lo scheduler di Airflow potrebbe essere riavviato, le attività di Airflow potrebbero dover essere ripetute o il tempo di avvio delle attività potrebbe essere più lungo.
Sintomi:
Nei log dei componenti di Airflow (ad esempio gli scheduler, i worker o il server web di Airflow) vengono visualizzati i seguenti errori:
Authentication failed using Compute Engine authentication due to unavailable metadata server
Compute Engine Metadata server unavailable on attempt 1 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 2 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 3 of 3. Reason: timed out
Soluzione:
Imposta la seguente variabile di ambiente: GCE_METADATA_TIMEOUT=30
.
La cartella /data non è disponibile nel server web Airflow
In Cloud Composer 2 e Cloud Composer 3, il server web Airflow è pensato per essere un componente principalmente di sola lettura e Cloud Composer non sincronizza la cartella data/
con questo componente.
A volte, potresti voler condividere file comuni tra tutti i componenti di Airflow, incluso il server web Airflow.
Soluzione:
Inserisci i file da condividere con il server web in un modulo PYPI e installalo come un normale pacchetto PYPI. Dopo aver installato il modulo PYPI nell'ambiente, i file vengono aggiunti alle immagini dei componenti Airflow e sono disponibili per questi.
Aggiungi file alla cartella
plugins/
. Questa cartella viene sincronizzata con il server web Airflow.
Tempi di analisi dei DAG non continui e diagrammi delle dimensioni dei bag DAG nel monitoraggio
I tempi di analisi DAG non continui e i diagrammi delle dimensioni dei bag DAG nella dashboard di monitoraggio indicano problemi con tempi di analisi DAG lunghi (più di 5 minuti).

Soluzione: consigliamo di mantenere il tempo di analisi totale del DAG inferiore a 5 minuti. Per ridurre il tempo di analisi del DAG, segui le linee guida per la scrittura del DAG.
I log delle attività vengono visualizzati con ritardi
Sintomo:
- In Cloud Composer 3, i log delle attività Airflow non vengono visualizzati immediatamente e sono ritardati di alcuni minuti.
Causa:
Se il tuo ambiente esegue un numero elevato di attività contemporaneamente, i log delle attività possono essere in ritardo perché le dimensioni dell'infrastruttura dell'ambiente non sono sufficienti per elaborare tutti i log abbastanza rapidamente.
Soluzioni:
- Valuta la possibilità di aumentare le dimensioni dell'infrastruttura dell'ambiente per migliorare il rendimento.
- Distribuisci le esecuzioni del DAG nel tempo in modo che le attività non vengano eseguite contemporaneamente.
Tempi di avvio aumentati per KubernetesPodOperator e KubernetesExecutor
I pod creati con KubernetesPodOperator e le attività eseguite con KubernetesExecutor presentano tempi di avvio più lunghi. Il team di Cloud Composer sta lavorando a una soluzione e la comunicherà quando il problema sarà risolto.
Soluzioni:
- Avvia i pod con più CPU.
- Se possibile, ottimizza le immagini (meno livelli, dimensioni più piccole).
L'ambiente è in stato ERROR dopo che l'account di fatturazione del progetto è stato eliminato o disattivato oppure l'API Cloud Composer è stata disattivata
Gli ambienti Cloud Composer interessati da questi problemi non sono recuperabili:
- Dopo che l'account di fatturazione del progetto è stato eliminato o disattivato, anche se successivamente è stato collegato un altro account.
- Dopo che l'API Cloud Composer è stata disattivata nel progetto, anche se è stata abilitata in un secondo momento.
Per risolvere il problema:
Puoi comunque accedere ai dati archiviati nei bucket del tuo ambiente, ma gli ambienti stessi non sono più utilizzabili. Puoi creare un nuovo ambiente Cloud Composer e poi trasferire i DAG e i dati.
Se vuoi eseguire una delle operazioni che rendono i tuoi ambienti non recuperabili, assicurati di eseguire il backup dei dati, ad esempio creando uno snapshot di un ambiente. In questo modo, puoi creare un altro ambiente e trasferirne i dati caricando questo snapshot.
Passaggi successivi
- Risoluzione dei problemi di creazione dell'ambiente
- Risoluzione dei problemi dei DAG
- Risolvere i problemi dello scheduler Airflow