Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina spiega come trasferire DAG, dati e configurazione dall'ambiente Cloud Composer 2 esistente a Cloud Composer 3.
Altre guide alla migrazione
Da | A | Metodo | Guida |
---|---|---|---|
Cloud Composer 2 | Cloud Composer 3 | Affiancata, utilizzando lo script di migrazione | Guida alla migrazione degli script |
Cloud Composer 2 | Cloud Composer 3 | Affiancate, utilizzando gli snapshot | Questa guida |
Cloud Composer 1, Airflow 2 | Cloud Composer 3 | Affiancate, utilizzando gli snapshot | Guida alla migrazione degli snapshot |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Affiancate, utilizzando gli snapshot | Guida alla migrazione degli snapshot |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Affiancate, utilizzando gli snapshot | Guida alla migrazione degli snapshot |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
Cloud Composer 1, Airflow 1 | Cloud Composer 1, Airflow 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
Prima di iniziare
Questa guida alla migrazione utilizza gli snapshot. Gli snapshot sono supportati in Cloud Composer 2 versione 2.0.9 e successive.
Cloud Composer supporta la migrazione affiancata da Cloud Composer 2 a Cloud Composer 3. Non è possibile eseguire l'upgrade da Cloud Composer 2 a Cloud Composer 3 sul posto.
Consulta l'elenco delle differenze tra Cloud Composer 2 e Cloud Composer 3. Assicurati che il tuo ambiente non utilizzi funzionalità non ancora disponibili in Cloud Composer 3.
La dimensione massima del database Airflow che supporta gli snapshot è 20 GB. Se il database del tuo ambiente occupa più di 20 GB, riduci le dimensioni del database Airflow.
Il numero totale di oggetti nelle cartelle
/dags
,/plugins
e/data
nel bucket dell'ambiente deve essere inferiore a 100.000 per creare snapshot.Se utilizzi il meccanismo XCom per trasferire i file, assicurati di utilizzarlo in conformità alle linee guida di Airflow. Il trasferimento di file di grandi dimensioni o di un numero elevato di file utilizzando XCom influisce sulle prestazioni del database Airflow e può causare errori durante il caricamento degli snapshot o l'upgrade dell'ambiente. Prendi in considerazione l'utilizzo di alternative come Cloud Storage per trasferire grandi volumi di dati.
Assicurati che i tuoi DAG siano compatibili con Cloud Composer 3
Assicurati che i tuoi DAG siano compatibili con Cloud Composer 3 seguendo questi suggerimenti:
L'elenco dei pacchetti nell'ambiente Cloud Composer 3 può essere diverso da quello dell'ambiente Cloud Composer 2. Ciò potrebbe influire sulla compatibilità dei tuoi DAG con Cloud Composer 3.
Cloud Composer carica gli override della configurazione, le variabili di ambiente e i pacchetti PyPI dallo snapshot dell'ambiente Cloud Composer 2 a Cloud Composer 3 senza modificarli o adattarli per la compatibilità. Per risolvere i conflitti tra questi parametri di configurazione, puoi ignorare il caricamento di pacchetti PyPI personalizzati, variabili di ambiente e override della configurazione Airflow quando carichi lo snapshot.
In Cloud Composer 3, il cluster dell'ambiente si trova nel progetto tenant. Assicurati che i tuoi DAG siano compatibili con questa modifica. In particolare, i workload
KubernetesPodOperator
ora vengono scalati indipendentemente dall'ambiente e non è possibile utilizzare le configurazioni di affinità dei pod.
Metti in pausa i DAG nell'ambiente Cloud Composer 2
Per evitare esecuzioni duplicate di DAG, metti in pausa tutti i DAG nell'ambiente Cloud Composer 2 prima di salvare lo snapshot. Ignora il DAG di monitoraggio della vivacità
(airflow_monitoring
), viene utilizzato a scopo di monitoraggio e non è incluso
negli snapshot dell'ambiente.
Puoi utilizzare una delle seguenti opzioni per mettere in pausa i DAG:
Metti in pausa i DAG uno alla volta nella console Google Cloud :
Nella console Google Cloud , vai alla pagina Ambienti.
Seleziona un ambiente per visualizzarne i dettagli.
Nella pagina Dettagli ambiente, vai alla scheda DAG.
Fai clic sul nome di un DAG.
Nella pagina Dettagli DAG, fai clic su Metti in pausa DAG.
Nell'interfaccia web di Airflow, vai a DAG e metti in pausa tutti i DAG manualmente.
Utilizza lo script composer_dags per mettere in pausa tutti i DAG:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation pause
Sostituisci:
COMPOSER_2_ENV
con il nome del tuo ambiente Cloud Composer 2.PROJECT_ID
con l'ID progetto.COMPOSER_2_LOCATION
con la regione in cui si trova l'ambiente.
Salva uno snapshot dell'ambiente Cloud Composer 2
Console
Crea uno snapshot del tuo ambiente:
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente Cloud Composer 2. Viene visualizzata la pagina Dettagli ambiente.
Fai clic su Crea snapshot.
Nella finestra di dialogo Crea snapshot, fai clic su Invia. In questa guida, salvi lo snapshot nel bucket dell'ambiente Cloud Composer 2, ma puoi selezionare una posizione diversa, se vuoi. Se specifichi una posizione personalizzata, i service account di entrambi gli ambienti devono disporre delle autorizzazioni di lettura e scrittura per la posizione specificata.
Attendi che Cloud Composer crei lo snapshot.
Dopo la creazione dello snapshot, il messaggio visualizzato restituisce la posizione dello snapshot. Salva queste informazioni per utilizzarle in un secondo momento quando carichi questo snapshot nell'ambiente Cloud Composer 3.
Ad esempio, la posizione dell'istantanea potrebbe essere:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
gcloud
Crea uno snapshot dell'ambiente Cloud Composer 2:
gcloud composer environments snapshots save \ COMPOSER_2_ENV \ --location COMPOSER_2_LOCATION
Sostituisci:
COMPOSER_2_ENV
con il nome del tuo ambiente Cloud Composer 2.COMPOSER_2_LOCATION
con la regione in cui si trova l'ambiente Cloud Composer 2.(Facoltativo) Puoi utilizzare l'argomento
--snapshot-location
per specificare una località personalizzata in cui deve essere archiviato lo snapshot dell'ambiente.In questa guida, salvi lo snapshot nel bucket dell'ambiente Cloud Composer 2, ma puoi selezionare una posizione diversa, se vuoi. Se specifichi una posizione personalizzata, i service account di entrambi gli ambienti devono disporre delle autorizzazioni di lettura e scrittura per la posizione specificata.
Dopo la creazione dello snapshot, il messaggio visualizzato restituisce la posizione dello snapshot. Salva queste informazioni per utilizzarle in un secondo momento quando carichi questo snapshot nell'ambiente Cloud Composer 3.
Ad esempio, la posizione dell'istantanea potrebbe essere:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
Crea un ambiente Cloud Composer 3
Crea un ambiente Cloud Composer 3 utilizzando le seguenti linee guida:
Puoi iniziare con la stessa configurazione dei limiti delle risorse del tuo ambiente Cloud Composer 2 e poi scalare e ottimizzare ulteriormente la configurazione.
Negli ambienti Cloud Composer 3, il processore DAG di Airflow viene eseguito come componente di ambiente separato. Poiché il processore DAG esegue l'offload dell'analisi dei DAG dallo scheduler, potresti voler ridistribuire le risorse precedentemente allocate agli scheduler di Airflow. Puoi farlo in un secondo momento dopo la migrazione a Cloud Composer 3 e monitorare il rendimento dello scheduler e del processore DAG.
Cloud Composer 3 offre una configurazione di rete più snella e semplificata rispetto a Cloud Composer 2. È possibile passare dalla configurazione di rete IP pubblico a quella IP privato e collegare e scollegare le reti VPC. Non è necessario specificare intervalli IP . Assicurati che la configurazione di rete dell'ambiente Cloud Composer 3 corrisponda alla configurazione di Cloud Composer 2 corrispondente.
Non è necessario specificare gli override di configurazione e le variabili di ambiente perché li sostituisci in un secondo momento quando carichi lo snapshot del tuo ambiente Cloud Composer 2.
Carica lo snapshot nell'ambiente Cloud Composer 3
Console
Per caricare lo snapshot nell'ambiente Cloud Composer 3:
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente Cloud Composer 3. Viene visualizzata la pagina Dettagli ambiente.
Fai clic su Carica snapshot.
Nella finestra di dialogo Carica snapshot, fai clic su Sfoglia.
Seleziona la cartella con lo snapshot.
Se utilizzi la posizione predefinita per questa guida, questa cartella si trova nel bucket dell'ambiente Cloud Composer 2 nella cartella
/snapshots
e il suo nome è il timestamp dell'operazione di salvataggio dello snapshot. La stessa posizione è stata visualizzata nel messaggio relativo alla creazione dello snapshot.Ad esempio
us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.Fai clic su Carica e attendi che Cloud Composer carichi lo snapshot.
gcloud
Carica lo snapshot dell'ambiente Cloud Composer 2 nell'ambiente Cloud Composer 3:
gcloud composer environments snapshots load \
COMPOSER_3_ENV \
--location COMPOSER_3_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Sostituisci:
COMPOSER_3_ENV
con il nome del tuo ambiente Cloud Composer 3.COMPOSER_3_LOCATION
con la regione in cui si trova l'ambiente Cloud Composer 3.SNAPSHOT_PATH
con l'URI del bucket dell'ambiente Cloud Composer 2, seguito dal percorso dello snapshot. La stessa posizione è stata visualizzata nel messaggio relativo alla creazione dello snapshot. Ad esempio:gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12
.
Riattiva i DAG nell'ambiente Cloud Composer 3
Puoi utilizzare una delle seguenti opzioni:
Riattiva i DAG uno alla volta nella console Google Cloud :
Nella console Google Cloud , vai alla pagina Ambienti.
Seleziona un ambiente per visualizzarne i dettagli.
Nella pagina Dettagli ambiente, vai alla scheda DAG.
Fai clic sul nome di un DAG.
Nella pagina Dettagli DAG, fai clic su Riavvia DAG.
Nell'interfaccia web di Airflow, vai a DAG e riattiva manualmente tutti i DAG uno alla volta.
Utilizza lo script composer_dags per riattivare tutti i DAG:
python3 composer_dags.py --environment COMPOSER_3_ENV \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ --operation unpause
Sostituisci:
COMPOSER_3_ENV
con il nome del tuo ambiente Cloud Composer 3.PROJECT_ID
con l'ID progetto.COMPOSER_3_LOCATION
con la regione in cui si trova l'ambiente.
Controllare gli errori del DAG
Nell'interfaccia web di Airflow, vai a DAG e verifica la presenza di errori di sintassi dei DAG segnalati.
Controlla che le esecuzioni del DAG siano pianificate all'ora corretta.
Attendi l'esecuzione dei DAG nell'ambiente Cloud Composer 3 e verifica se sono andati a buon fine. Se l'esecuzione di un DAG è andata a buon fine, non riattivarla nell'ambiente Cloud Composer 2; in caso contrario, nell'ambiente Cloud Composer 2 si verifica un'esecuzione del DAG per la stessa ora e data.
Se l'esecuzione di un DAG specifico non va a buon fine, prova a risolvere i problemi del DAG finché non viene eseguito correttamente in Cloud Composer 3.
Monitora l'ambiente Cloud Composer 3
Dopo aver trasferito tutti i DAG e la configurazione all'ambiente Cloud Composer 3, monitoralo per rilevare potenziali problemi, esecuzioni di DAG non riuscite e l'integrità generale dell'ambiente.
Se l'ambiente Cloud Composer 3 funziona senza problemi per un periodo di tempo sufficiente, valuta la possibilità di eliminare l'ambiente Cloud Composer 2.