Cloud Composer 1 | Cloud Composer 2
Halaman ini menjelaskan cara mentransfer DAG, data, dan konfigurasi dari lingkungan Cloud Composer 1, Airflow 1 yang sudah ada ke Cloud Composer 2, dan Airflow 2.
Panduan migrasi ini menggunakan fitur Ringkasan.
Panduan migrasi lainnya
Dari | Kepada | Metode | Panduan |
---|---|---|---|
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Berdampingan, menggunakan snapshot | Panduan migrasi (snapshot) |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Berdampingan, menggunakan snapshot | Panduan ini (snapshot) |
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Transfer manual secara berdampingan | Panduan migrasi manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Transfer manual secara berdampingan | Panduan migrasi manual |
Aliran Udara 1 | Aliran Udara 2 | Transfer manual secara berdampingan | Panduan migrasi manual |
Sebelum memulai
Snapshot didukung di Cloud Composer 2 versi 2.0.9 dan yang lebih baru. Cloud Composer 1 mendukung penyimpanan snapshot lingkungan di versi 1.18.5.
Cloud Composer mendukung migrasi berdampingan dari Cloud Composer 1 ke Cloud Composer 2. Anda tidak dapat mengupgrade dari Cloud Composer 1 ke Cloud Composer 2 sebagai gantinya.
Lihat daftar perbedaan antara Cloud Composer 1 dan Cloud Composer 2.
Ukuran maksimum database Airflow yang mendukung snapshot adalah 20 GB. Jika database lingkungan Anda memerlukan lebih dari 20 GB, kurangi ukuran database Airflow.
Karena Cloud Composer 2 menggunakan Airflow 2, migrasi yang dilakukan mencakup mengganti DAG dan konfigurasi lingkungan Anda ke Airflow 2. Baca panduan migrasi dari Airflow 1 ke Airflow 2 untuk mengetahui informasi tentang perubahan yang dapat menyebabkan gangguan antara Airflow 1 dan Airflow 2 di Cloud Composer.
Dalam panduan ini, Anda menggabungkan migrasi ke Airflow 2 dan migrasi ke Cloud Composer 2 dalam satu prosedur migrasi. Dengan cara ini, Anda tidak perlu bermigrasi ke lingkungan Cloud Composer 1 dengan Airflow 2 sebelum bermigrasi ke Cloud Composer 2.
Langkah 1: Upgrade ke Airflow 1.10.15
Jika lingkungan Anda menggunakan versi Airflow yang lebih lama dari 1.10.15, upgrade lingkungan Anda ke versi Cloud Composer yang menggunakan Airflow 1.10.15 dan mendukung snapshot.
Langkah 2: Periksa kompatibilitas dengan Airflow 2
Untuk memeriksa potensi konflik dengan Airflow 2, gunakan skrip pemeriksaan upgrade yang disediakan oleh Airflow di lingkungan Airflow 1.10.15 Anda yang ada.
gcloud
Jalankan pemeriksaan upgrade melalui perintah
gcloud composer environments run
. Beberapa pemeriksaan upgrade yang relevan untuk Airflow 1.10.15 mandiri tidak relevan untuk Cloud Composer. Perintah berikut mengecualikan pemeriksaan ini.gcloud composer environments run \ COMPOSER_1_ENV \ --location=COMPOSER_1_LOCATION \ upgrade_check \ -- --ignore VersionCheckRule --ignore LoggingConfigurationRule \ --ignore PodTemplateFileRule --ignore SendGridEmailerMovedRule
Ganti:
COMPOSER_1_ENV
dengan nama lingkungan Airflow 1.10.15 Anda.COMPOSER_1_LOCATION
dengan wilayah tempat lingkungan berada.
Periksa output perintah. Update skrip pemeriksaan melaporkan potensi masalah kompatibilitas di lingkungan yang sudah ada.
Terapkan perubahan lain pada DAG, seperti yang dijelaskan dalam panduan Upgrade ke Airflow 2.0+, di bagian tentang mengupgrade DAG.
Langkah 3: Pastikan DAG Anda siap untuk Airflow 2
Sebelum mentransfer DAG ke lingkungan Cloud Composer 2, pastikan bahwa:
Skrip pemeriksaan upgrade agar DAG berhasil dijalankan dan tidak ada masalah kompatibilitas yang tersisa.
DAG Anda menggunakan pernyataan impor yang benar.
Misalnya, pernyataan impor baru untuk
BigQueryCreateDataTransferOperator
dapat terlihat seperti ini:from airflow.providers.google.cloud.operators.bigquery_dts \ import BigQueryCreateDataTransferOperator
DAG Anda diupgrade untuk Airflow 2. Perubahan ini kompatibel dengan Airflow 1.10.14 dan versi yang lebih baru.
Langkah 4: Jeda DAG di lingkungan Cloud Composer 1 Anda
Untuk menghindari DAG duplikat dijalankan, jeda semua DAG di lingkungan Cloud Composer 1 sebelum menyimpan snapshot-nya.
Anda dapat menggunakan salah satu opsi berikut:
Di antarmuka web Airflow, buka DAG dan jeda semua DAG secara manual.
Gunakan skrip composer_dags untuk menjeda semua DAG:
python3 composer_dags.py --environment COMPOSER_1_ENV \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ --operation pause
Ganti:
COMPOSER_1_ENV
dengan nama lingkungan Cloud Composer 1 Anda.PROJECT_ID
dengan Project ID.COMPOSER_1_LOCATION
dengan wilayah tempat lingkungan berada.
Langkah 5: Simpan snapshot lingkungan Cloud Composer 1 Anda
Konsol
Buat snapshot lingkungan Anda:
Di Konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Cloud Composer 1 Anda. Halaman Detail lingkungan akan terbuka.
Klik Create snapshot.
Pada dialog Create snapshot, klik Submit. Dalam panduan ini, Anda menyimpan snapshot di bucket lingkungan Cloud Composer 1, tetapi Anda dapat memilih lokasi lain jika ingin.
Tunggu hingga Cloud Composer membuat snapshot.
gcloud
Dapatkan URI bucket lingkungan Cloud Composer 1:
Jalankan perintah berikut:
gcloud composer environments describe COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --format="value(config.dagGcsPrefix)"
Ganti:
COMPOSER_1_ENV
dengan nama lingkungan Cloud Composer 1 Anda.COMPOSER_1_LOCATION
dengan wilayah tempat lingkungan berada.
Di output, hapus folder
/dags
. Hasilnya adalah URI bucket lingkungan Cloud Composer 1 Anda.Misalnya, ubah
gs://us-central1-example-916807e1-bucket/dags
menjadigs://us-central1-example-916807e1-bucket
.
Buat snapshot lingkungan Cloud Composer 1 Anda:
gcloud beta composer environments snapshots save \ COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
Ganti:
COMPOSER_1_ENV
dengan nama lingkungan Cloud Composer 1 Anda.COMPOSER_1_LOCATION
dengan region tempat lingkungan Cloud Composer 1 berada.COMPOSER_1_SNAPSHOTS_FOLDER
dengan URI bucket lingkungan Cloud Composer 1. Dalam panduan ini, Anda menyimpan snapshot di bucket lingkungan Cloud Composer 1, tetapi Anda dapat memilih lokasi yang berbeda jika ingin. Jika Anda menentukan lokasi kustom, akun layanan kedua lingkungan harus memiliki izin baca dan tulis untuk lokasi yang ditentukan.
Langkah 6: Buat lingkungan Cloud Composer 2
Membuat lingkungan Cloud Composer 2. Anda dapat memulai dengan preset lingkungan yang sesuai dengan permintaan resource yang diperkirakan, lalu menskalakan dan mengoptimalkan lingkungan lebih lanjut.
Anda tidak perlu menentukan penggantian konfigurasi dan variabel lingkungan, karena Anda akan menggantinya nanti saat memuat snapshot lingkungan Cloud Composer 1.
Beberapa opsi konfigurasi dari Airflow 1 menggunakan nama dan bagian yang berbeda di Airflow 2. Untuk mengetahui informasi selengkapnya, lihat Perubahan konfigurasi.
Langkah 7: Muat snapshot ke lingkungan Cloud Composer 2 Anda
Konsol
Untuk memuat snapshot ke lingkungan Cloud Composer 2 Anda:
Di Konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Cloud Composer 2 Anda. Halaman Detail lingkungan akan terbuka.
Klik Load snapshot.
Dalam dialog Load snapshot, klik Browse.
Pilih folder yang berisi snapshot. Jika Anda menggunakan lokasi default untuk panduan ini, folder ini berada di bucket lingkungan Cloud Composer 1 di folder
/snapshots
, dan namanya adalah stempel waktu operasi penyimpanan snapshot. Misalnya,us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00
.Klik Load dan tunggu hingga Cloud Composer memuat snapshot.
gcloud
Muat snapshot lingkungan Cloud Composer 1 Anda ke lingkungan Cloud Composer 2 Anda:
gcloud beta composer environments snapshots load \
COMPOSER_2_ENV \
--location COMPOSER_2_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Ganti:
COMPOSER_2_ENV
dengan nama lingkungan Cloud Composer 2 Anda.COMPOSER_2_LOCATION
dengan region tempat lingkungan Cloud Composer 2 berada.SNAPSHOT_PATH
dengan URI bucket lingkungan Cloud Composer 1, yang diikuti dengan jalur ke snapshot. Contoh,gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00
.
Langkah 8: Lanjutkan DAG di lingkungan Cloud Composer 2
Anda dapat menggunakan salah satu opsi berikut:
Di antarmuka web Airflow, buka DAG dan batalkan jeda semua DAG secara manual satu per satu.
Gunakan skrip composer_dags untuk membatalkan jeda semua DAG:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation unpause
Ganti:
COMPOSER_2_ENV
dengan nama lingkungan Cloud Composer 2 Anda.PROJECT_ID
dengan Project ID.COMPOSER_2_LOCATION
dengan wilayah tempat lingkungan berada.
Langkah 9: Periksa error DAG
Di antarmuka web Airflow, buka DAG dan periksa error sintaksis DAG yang dilaporkan.
Periksa apakah operasi DAG dijadwalkan pada waktu yang tepat.
Tunggu hingga proses DAG terjadi di lingkungan Cloud Composer 2 dan periksa apakah proses tersebut berhasil. Jika operasi DAG berhasil, jangan batalkan jedanya di lingkungan Cloud Composer 1. Jika Anda melakukannya, DAG akan dijalankan untuk waktu dan tanggal yang sama akan terjadi di lingkungan Cloud Composer 1 Anda.
Jika DAG tertentu gagal dijalankan, coba pecahkan masalah DAG hingga DAG berhasil dijalankan di Cloud Composer 2.
Langkah 10: Pantau lingkungan Cloud Composer 2 Anda
Setelah mentransfer semua DAG dan konfigurasi ke lingkungan Cloud Composer 2, pantau potensi masalah, kegagalan pengoperasian DAG, dan kondisi lingkungan secara keseluruhan.
Jika lingkungan Cloud Composer 2 berjalan tanpa masalah selama jangka waktu yang memadai, pertimbangkan untuk menghapus lingkungan Cloud Composer 1.
Langkah selanjutnya
- Memecahkan masalah DAG
- Memecahkan masalah pembuatan lingkungan
- Memecahkan masalah pembaruan lingkungan
- Menggunakan paket backport