Esegui la migrazione degli ambienti a Cloud Composer 2 (da Airflow 2) utilizzando gli snapshot

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina spiega come trasferire i DAG, i dati e la configurazione dagli ambienti Cloud Composer 1, Airflow 2 a Cloud Composer 2, Airflow 2.

Questa guida alla migrazione utilizza la funzionalità Snapshot.

Altre guide alla migrazione

Da A Metodo Guida
Cloud Composer 1, Airflow 2 Cloud Composer 2, Airflow 2 Affiancato, utilizzando gli snapshot Questa guida (snapshot)
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 Affiancate, utilizzando gli snapshot Guida alla migrazione (snapshot)
Cloud Composer 1, Airflow 2 Cloud Composer 2, Airflow 2 Trasferimento manuale fianco a fianco Guida alla migrazione manuale
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 Trasferimento manuale fianco a fianco Guida alla migrazione manuale
Flusso d'aria 1 Flusso d'aria 2 Trasferimento manuale fianco a fianco Guida alla migrazione manuale

Prima di iniziare

  • Gli snapshot sono supportati in Cloud Composer 2 versione 2.0.9 e successive. Cloud Composer 1 supporta il salvataggio degli snapshot dell'ambiente nella versione 1.18.5.

  • Cloud Composer supporta la migrazione affiancata Da Cloud Composer 1 a Cloud Composer 2. Non è possibile eseguire l'upgrade da da Cloud Composer 1 a Cloud Composer 2 in loco.

  • Consulta l'elenco delle differenze tra Cloud Composer 1 e Cloud Composer 2.

  • La dimensione massima del database Airflow che supporta gli snapshot è 20 GB. Se il database del tuo ambiente occupa più di 20 GB, ridurre le dimensioni del database Airflow.

Passaggio 1: metti in pausa i DAG nel tuo ambiente Cloud Composer 1

Per evitare esecuzioni di DAG duplicate, metti in pausa tutti i DAG in Cloud Composer 1 prima di salvare lo snapshot.

Puoi utilizzare una delle seguenti opzioni:

  • 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_1_ENV \
      --project PROJECT_ID \
      --location COMPOSER_1_LOCATION \
      --operation pause
    

    Sostituisci:

    • COMPOSER_1_ENV con il nome del tuo ambiente Cloud Composer 1.
    • PROJECT_ID con l'ID progetto.
    • COMPOSER_1_LOCATION con la regione in cui si trova l'ambiente.

Passaggio 2: salva lo snapshot dell'ambiente Cloud Composer 1

Console

Crea uno snapshot del tuo ambiente:

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo nell'ambiente Cloud Composer 1. Si apre la pagina Dettagli ambiente.

  3. Fai clic su Crea snapshot.

  4. Nella finestra di dialogo Crea snapshot, fai clic su Invia. Nel questa guida, salva lo snapshot nel file di Cloud Composer 1 bucket, ma puoi selezionare una località diversa, se vuoi.

  5. Attendi fino a quando Cloud Composer crea lo snapshot.

gcloud

  1. Recupera l'URI del bucket dell'ambiente Cloud Composer 1:

    1. Esegui questo comando:

      gcloud composer environments describe COMPOSER_1_ENV \
          --location COMPOSER_1_LOCATION \
           --format="value(config.dagGcsPrefix)"
      

      Sostituisci:

      • COMPOSER_1_ENV con il nome del tuo Cloud Composer 1 completamente gestito di Google Cloud.
      • COMPOSER_1_LOCATION con la regione in cui si trova l'ambiente individuarlo.
    2. Nell'output, rimuovi la cartella /dags. Il risultato è l'URI del bucket dell'ambiente Cloud Composer 1.

      Ad esempio, modifica gs://us-central1-example-916807e1-bucket/dags a gs://us-central1-example-916807e1-bucket.

  2. Crea uno snapshot del tuo ambiente Cloud Composer 1:

    gcloud composer environments snapshots save \
      COMPOSER_1_ENV \
      --location COMPOSER_1_LOCATION \
      --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
    

    Sostituisci:

    • COMPOSER_1_ENV con il nome del tuo ambiente Cloud Composer 1.
    • COMPOSER_1_LOCATION con la regione in cui Cloud Composer 1 dell'ambiente di rete.
    • COMPOSER_1_SNAPSHOTS_FOLDER con l'URI di Cloud Composer 1 del bucket dell'ambiente. In questa guida, salvi l'istantanea nel del bucket dell'ambiente Cloud Composer 1, ma puoi selezionare un'opzione in un'altra posizione, se vuoi. Se specifichi una località personalizzata, gli account di servizio di entrambi gli ambienti devono dispongono delle autorizzazioni di lettura e scrittura per la località specificata.

Passaggio 3: crea un ambiente Cloud Composer 2

Crea un ambiente Cloud Composer 2. Puoi inizia con una preimpostazione di ambiente che corrisponde alle tue richieste di risorse previste per poi scalare e ottimizzare il tuo ambiente in un secondo momento. ulteriormente.

Non è necessario specificare gli override della configurazione e le variabili di ambiente, poiché in un secondo momento, quando carichi lo snapshot dell'ambiente Cloud Composer 1.

Passaggio 4: carica lo snapshot nell'ambiente Cloud Composer 2

Console

Per caricare lo snapshot nell'ambiente Cloud Composer 2:

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo nell'ambiente Cloud Composer 2. Si apre la pagina Dettagli ambiente.

  3. Fai clic su Carica istantanea.

  4. Nella finestra di dialogo Carica istantanea, fai clic su Sfoglia.

  5. Seleziona la cartella con lo snapshot. Se utilizzi la località predefinita guida, questa cartella si trova nel tuo ambiente Cloud Composer 1 bucket nella cartella /snapshots con il nome corrispondente al timestamp dell'operazione di salvataggio dello snapshot. Ad esempio: us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00.

  6. Fai clic su Carica e attendi che Cloud Composer carichi lo snapshot.

gcloud

Carica lo snapshot dell'ambiente Cloud Composer 1 nella Ambiente Cloud Composer 2:

gcloud composer environments snapshots load \
  COMPOSER_2_ENV \
  --location COMPOSER_2_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Sostituisci:

  • COMPOSER_2_ENV con il nome del tuo ambiente Cloud Composer 2.
  • COMPOSER_2_LOCATION con la regione in cui Cloud Composer 2 dell'ambiente di rete.
  • SNAPSHOT_PATH con l'URI di Cloud Composer 1 dell'ambiente di deployment, seguito dal percorso dello snapshot. Per un esempio, gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00.

Passaggio 5: riattiva i DAG nell'ambiente Cloud Composer 2

Puoi utilizzare una delle seguenti opzioni:

  • 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_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation unpause
    

    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.

Passaggio 6: controlla se sono presenti errori del DAG

  1. Nell'interfaccia web di Airflow, vai a DAG e controlla se sono stati segnalati errori di sintassi dei DAG.

  2. Verifica che le esecuzioni dei DAG siano pianificate all'ora corretta.

  3. Attendi che le esecuzioni del DAG vengano eseguite nell'ambiente Cloud Composer 2 e per verificare che siano andati a buon fine. Se l'esecuzione di un DAG ha avuto esito positivo, non riattivala nell'ambiente Cloud Composer 1; se lo fai, un DAG per l'esecuzione nello stesso orario e nella stessa data si verifica in Cloud Composer 1 completamente gestito di Google Cloud.

  4. Se l'esecuzione di un DAG specifico non riesce, prova a risolvi i problemi del DAG finché non viene eseguito in Cloud Composer 2.

Passaggio 7: monitora l'ambiente Cloud Composer 2

Dopo aver trasferito tutti i DAG e la configurazione a Cloud Composer 2 dell'ambiente, monitorare potenziali problemi, esecuzioni di DAG non riuscite e, l'integrità dell'ambiente.

Se l'ambiente Cloud Composer 2 viene eseguito senza problemi per un periodo di tempo sufficiente, valuta la possibilità di eliminare Cloud Composer 1 completamente gestito di Google Cloud.

Passaggi successivi