Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Halaman ini menjelaskan cara mentransfer DAG, data, dan konfigurasi dari lingkungan Managed Airflow (Gen 3) yang ada dengan Airflow 2 ke lingkungan Managed Airflow (Gen 3) dengan Airflow 3.
Panduan migrasi lainnya
| Dari | Ke | Metode | Panduan |
|---|---|---|---|
| Managed Airflow (Generasi 3), Airflow 2 | Managed Airflow (Gen 3), Airflow 3 | Berdampingan, transfer manual | Panduan ini |
| Managed Airflow (Generasi 2) | Managed Airflow (Generasi 3) | Secara berdampingan, menggunakan skrip migrasi | Panduan migrasi skrip |
| Managed Airflow (Generasi 2) | Managed Airflow (Generasi 3) | Berdampingan, menggunakan snapshot | Panduan migrasi snapshot |
| Managed Airflow (Generasi 1 Lama), Airflow 2 | Managed Airflow (Generasi 3) | Berdampingan, menggunakan snapshot | Panduan migrasi snapshot |
| Managed Airflow (Generasi 1 Lama), Airflow 2 | Managed Airflow (Generasi 2) | Berdampingan, menggunakan snapshot | Panduan migrasi snapshot |
| Managed Airflow (Generasi 1 Lama), Airflow 2 | Managed Airflow (Generasi 2) | Berdampingan, transfer manual | Panduan migrasi manual |
| Managed Airflow (Generasi 1 Lama), Airflow 1 | Managed Airflow (Gen 2), Airflow 2 | Berdampingan, menggunakan snapshot | Panduan migrasi snapshot |
| Managed Airflow (Generasi 1 Lama), Airflow 1 | Managed Airflow (Gen 2), Airflow 2 | Berdampingan, transfer manual | Panduan migrasi manual |
| Managed Airflow (Generasi 1 Lama), Airflow 1 | Managed Airflow (Generasi 1 Lama), Airflow 2 | Berdampingan, transfer manual | Panduan migrasi manual |
Perubahan yang diperkenalkan di Airflow 3
Sebelum Anda mulai menggunakan lingkungan Managed Airflow dengan Airflow 3, pertimbangkan perubahan yang dibawa Airflow 3 ke lingkungan Managed Airflow (Gen 3).
Untuk mengetahui ringkasan perubahan yang diperkenalkan dalam Airflow 3 versi komunitas, lihat Apache Airflow 3 sudah Tersedia Secara Umum!.
Pembuatan versi DAG
Di Airflow 3, DAG akan berjalan hingga selesai berdasarkan versi pada awal, meskipun versi baru diupload saat DAG berjalan.
- Semua proses DAG di UI Airflow kini dikaitkan dengan versi DAG yang sesuai (versi pada saat eksekusi). Hal ini mencakup struktur tugas dan kode DAG.
Peningkatan pengisian ulang
Airflow 3 memperkenalkan perombakan besar pada cara penanganan pengisian ulang (menjalankan ulang pipeline untuk data historis). Pengisian ulang beralih dari proses manual ke fitur yang sepenuhnya dapat diamati dan terintegrasi ke dalam mesin inti Airflow:
- Pengisian ulang kini dikelola langsung dalam penjadwal Airflow, bukan diperlakukan sebagai proses manual yang terpisah. Hal ini menghasilkan skalabilitas yang lebih baik dan kontrol yang lebih presisi.
- Anda kini dapat memicu, menghentikan, dan memantau progres pengisian ulang langsung melalui panggilan API atau UI Airflow, selain Airflow CLI.
- Penjadwal Airflow memberikan visibilitas yang lebih baik ke dalam status dan kondisi proses pengisian ulang historis.
- Meskipun sangat diminta oleh komunitas machine learning (untuk melatih ulang model pada data lama), peningkatan pengisian ulang berlaku untuk semua alur kerja ETL/ELT.
Peningkatan keamanan dan keandalan
Di Airflow 3, tugas hanya berkomunikasi dengan Server API pusat melalui Task SDK (di Airflow 2, tugas dapat memiliki akses database langsung). Server API mengumpulkan koneksi ini secara efisien. Database Anda dilindungi dari lonjakan koneksi, sehingga seluruh lingkungan menjadi lebih stabil saat beban berat.
Dengan memanfaatkan Antarmuka Eksekusi Tugas baru, Airflow 3 mendukung isolasi yang lebih baik antar-tugas, sehingga mencegah satu tugas berpotensi mengganggu atau mengakses data tugas lain.
CLI Airflow 3 tidak lagi menggunakan akses database langsung. Antarmuka command line
airflowctlbaru adalah paket terpisah yang didesain khusus untuk akses jarak jauh melalui API. Alih-alih akses langsung ke database, Airflow berinteraksi dengan database melalui API, yang lebih aman.
Penjadwalan berdasarkan peristiwa dan Aset Data
Set data telah berkembang menjadi Aset Data. Aset Data memungkinkan Airflow melacak dan merespons data yang dibuat atau diperbarui oleh sistem di luar Airflow dengan lebih baik.
Konsep baru yang disebut Watchers diperkenalkan di Airflow 3. Komponen ini memantau perubahan pada Aset Data, sehingga Airflow dapat memicu alur kerja saat data tiba. Daripada melakukan polling (memeriksa setiap menit apakah file ada), DAG kini dapat dipicu secara instan saat pesan masuk ke antrean pesan.
Airflow 3 memperkenalkan Sintaksis yang Berfokus pada Aset baru menggunakan dekorator Python, sehingga kode menjadi lebih rapi dan intuitif bagi developer.
UI Airflow yang dimodernisasi
- UI Airflow ditulis ulang dari awal menggunakan React (frontend) dan FastAPI (backend).
- UI Airflow baru melakukan operasinya melalui REST API standar dan API khusus untuk operasi UI.
- Dengan mengganti penerapan Flask dengan FastAPI, UI Airflow menjadi jauh lebih responsif.
- Tampilan Petak dan Grafik disatukan untuk alur kerja yang lebih lancar, sehingga memudahkan Anda beralih antara struktur DAG tingkat tinggi dan log tugas tertentu.
Perubahan yang dapat menyebabkan gangguan di Airflow 3
Airflow 3 memperkenalkan beberapa perubahan besar yang beberapa di antaranya dapat menyebabkan gangguan:
- DAG yang ada dari Airflow 2 tidak dijamin dapat berfungsi dengan Airflow 3 secara langsung. DAG ini harus diuji dan mungkin disesuaikan dengan mengubah impor, parameter DAG, dan detail implementasi lainnya.
Beberapa opsi konfigurasi Airflow 2 diganti namanya atau dihapus di Airflow 3. Lihat Referensi Konfigurasi Airflow untuk mengetahui informasi selengkapnya tentang parameter.
Tidak ada akses langsung ke akses database Airflow dari kode tugas:
- Kode tugas tidak lagi dapat mengimpor dan menggunakan sesi atau model database Airflow secara langsung.
PostgresHookdanPostgresOperatortidak dapat digunakan dengan koneksiairflow_db.
Beberapa paket PyPI kustom mungkin tidak kompatibel dengan versi baru Airflow dan dependensinya.
REST API (
/api/v1) diganti dengan/api/v2.SubDAG digantikan oleh TaskGroup, Aset, dan Penjadwalan yang Mendukung Data.
SLA tidak digunakan lagi dan dihapus. Fitur ini diganti dengan Pemberitahuan Batas Waktu.
Argumen subdir dalam perintah CLI dihapus.
Beberapa variabel konteks Airflow telah dihapus. Untuk mengetahui informasi selengkapnya, lihat Perubahan yang Merusak Kompatibilitas dalam dokumentasi Airflow.
Parameter DAG
catchup_by_defaultkiniFalsesecara default.Konfigurasi
create_cron_data_intervalssekarangFalsesecara default. Artinya,CronTriggerTimetableakan digunakan secara default, bukanCronDataIntervalTimetable.
Perbedaan antara lingkungan dengan Airflow 3 dan Airflow 2
Perbedaan utama antara lingkungan Managed Airflow dengan Airflow 2 dan lingkungan dengan Airflow 3 adalah:
Konfigurasi beban kerja di lingkungan Airflow 3:
- Jumlah memori minimum untuk semua komponen Airflow adalah 2 GB.
- Konfigurasi untuk pemicu dan pekerja Airflow dalam preset lingkungan diubah dibandingkan dengan lingkungan Airflow 2.
- Jumlah CPU default untuk pemicu adalah 1.
- Jumlah memori default untuk pemicu adalah 2 GB.
Opsi penghitungan otomatis konfigurasi
[celery]worker_concurrencydiubah untuk mengakomodasi penggunaan memori yang berbeda oleh komponen Airflow 3.Di Airflow 3, tidak ada cara untuk mengakses database Airflow secara langsung dari kode tugas.
Airflow 3 menggunakan utilitas command line
airflowctluntuk menjalankan perintah Airflow CLI.Paket PyPI yang telah diinstal sebelumnya berbeda di lingkungan Airflow 3. Untuk daftar paket PyPI yang telah diinstal sebelumnya, lihat Log perubahan paket yang telah diinstal sebelumnya.
Bermigrasi ke Airflow 3 secara berdampingan
Proses migrasi berdampingan memiliki langkah-langkah berikut:
- Periksa kompatibilitas dengan Airflow 3.
- Buat lingkungan Airflow 3, penggantian konfigurasi transfer, dan variabel lingkungan.
- Instal paket PyPI ke lingkungan Airflow 3.
- Mentransfer variabel, koneksi, dan kumpulan ke Airflow 3.
- Transfer data lain dari bucket lingkungan Airflow 2.* Anda.
- Mentransfer pengguna dan peran.
- Pastikan DAG Anda siap untuk Airflow 3.
- Transfer DAG ke lingkungan Airflow 3.
- Pantau lingkungan Airflow 3 Anda.
Langkah 1: Periksa kompatibilitas dengan Airflow 3
Untuk memeriksa kompatibilitas dengan Airflow 3:
- Pastikan lingkungan Anda menggunakan Airflow versi 2.7 atau yang lebih baru. Sebaiknya upgrade ke versi Airflow 2 terbaru terlebih dahulu, lalu bermigrasi ke Airflow 3.
- Pastikan lingkungan berfungsi dengan baik dan berjalan tanpa masalah selama beberapa waktu.
- Pastikan DAG dan konfigurasi Airflow Anda tidak menggunakan fitur atau fungsi apa pun yang dihapus di Airflow 3.
- Baca petunjuk untuk mengubah DAG agar kompatibel dengan Airflow 3 untuk melihat apakah ada perubahan pada DAG yang diperlukan selama proses migrasi.
- Periksa kompatibilitas DAG Airflow Anda menggunakan alat
ruffyang disediakan oleh versi komunitas Airflow. Untuk mengetahui petunjuknya, lihat Memeriksa kompatibilitas DAG Airflow Anda dalam dokumentasi Airflow.
Langkah 2: Buat lingkungan Airflow 3, transfer penggantian konfigurasi dan variabel lingkungan
Pada langkah ini, Anda akan membuat lingkungan Managed Airflow (Gen 3) baru dengan Airflow 3 dan mulai mentransfer parameter konfigurasi dari lingkungan Airflow 2:
Ikuti langkah-langkah untuk membuat lingkungan Managed Airflow (Gen 3) dan lakukan hal berikut:
- Saat Anda memilih build Airflow, pilih build dengan Airflow 3.
Salin semua penggantian opsi konfigurasi Airflow yang kompatibel dari lingkungan Airflow 2 Anda.
Salin semua variabel lingkungan dari lingkungan Airflow 2 Anda.
Lanjutkan untuk membuat lingkungan dengan Airflow 3.
Tabel berikut mencantumkan beberapa perubahan opsi konfigurasi Airflow. Daftar ini tidak lengkap. Untuk mengetahui informasi selengkapnya tentang perubahan pada opsi konfigurasi Airflow, lihat Referensi Konfigurasi Airflow dan Catatan Rilis Airflow di dokumentasi Airflow.
| Opsi Airflow 2 | Opsi Airflow 3 |
|---|---|
[scheduler]min_file_process_interval
|
[dag_processor]min_file_process_interval
|
[webserver]rbac_user_registration_role
|
[api]rbac_user_registration_role
|
[core]dag_file_processor_timeout
|
[dag_processor]dag_file_processor_timeout
|
[scheduler]dag_dir_list_interval
|
[dag_processor]refresh_interval
|
[scheduler]max_threads
|
[dag_processor]parsing_processes
|
[scheduler]parsing_processes
|
[dag_processor]parsing_processes
|
[webserver]instance_name
|
[api]instance_name
|
[scheduler]scheduler_zombie_task_threshold
|
[scheduler]task_instance_heartbeat_timeout
|
[webserver]rbac
|
Tidak digunakan lagi |
[api]auth_backend=airflow.api.auth.backend.deny_all
|
Tidak digunakan lagi |
[api]auth_backends=airflow.api.auth.backend.deny_all
|
Tidak digunakan lagi |
[api]composer_auth_user_registration_role
|
Tidak digunakan lagi |
Langkah 3: Instal paket PyPI ke lingkungan Airflow 3
Setelah lingkungan Airflow 3 dibuat, instal paket PyPI ke lingkungan tersebut:
- Salin persyaratan paket PyPI dari lingkungan Airflow 2 Anda.
- Mulai operasi update paket PyPI dan tunggu hingga lingkungan diupdate.
Karena lingkungan Airflow 3 menggunakan serangkaian paket yang telah diinstal sebelumnya yang berbeda, Anda mungkin mengalami konflik paket PyPI selama operasi update. Untuk informasi selengkapnya tentang cara memecahkan masalah konflik paket PyPI, lihat Konflik dengan paket PyPI yang sudah diinstal.
Langkah 4: Ekspor variabel, koneksi, dan kumpulan dari Airflow 2
Jika Anda tidak memiliki variabel atau koneksi, lewati perintah ekspor dan impor yang sesuai.
Anda hanya perlu mentransfer pool jika memiliki pool kustom selain
default_pool. Jika tidak, lewati perintah yang mengekspor dan mengimpor kumpulan.
Mengekspor variabel dari lingkungan Airflow 2 Anda:
gcloud composer environments run AIRFLOW_2_ENV \ --location AIRFLOW_2_LOCATION \ variables -- export /home/airflow/gcs/data/variables.jsonGanti kode berikut:
AIRFLOW_2_ENV: nama lingkungan Airflow 2 Anda.AIRFLOW_2_LOCATION: region tempat lingkungan Airflow 2 berada.
Mengekspor koneksi dari lingkungan Airflow 2 Anda:
gcloud composer environments run AIRFLOW_2_ENV \ --location AIRFLOW_2_LOCATION \ connections -- export /home/airflow/gcs/data/connections.jsonGanti kode berikut:
AIRFLOW_2_ENV: nama lingkungan Airflow 2 Anda.AIRFLOW_2_LOCATION: region tempat lingkungan Airflow 2 berada.
Mengekspor kumpulan dari lingkungan Airflow 2 Anda:
gcloud composer environments run AIRFLOW_2_ENV \ --location AIRFLOW_2_LOCATION \ pools -- export /home/airflow/gcs/data/pools.jsonGanti kode berikut:
AIRFLOW_2_ENV: nama lingkungan Airflow 2 Anda.AIRFLOW_2_LOCATION: region tempat lingkungan Airflow 2 berada.
Dapatkan nama bucket lingkungan Airflow 2 Anda:
gcloud composer environments describe AIRFLOW_2_ENV \ --location AIRFLOW_2_LOCATION \ --format="value(storageConfig.bucket)"Ganti kode berikut:
AIRFLOW_2_ENV: nama lingkungan Airflow 2 Anda.AIRFLOW_2_LOCATION: region tempat lingkungan Airflow 2 berada.
Download file
variables.json,connections.json, danpools.jsondari direktori/databucket lingkungan Airflow 2 Anda ke direktori lokal:gcloud storage cp gs://AIRFLOW_2_BUCKET/data/variables.json ./variables.json gcloud storage cp gs://AIRFLOW_2_BUCKET/data/connections.json ./connections.json gcloud storage cp gs://AIRFLOW_2_BUCKET/data/pools.json ./pools.jsonGanti kode berikut:
AIRFLOW_2_BUCKET: nama bucket lingkungan Airflow 2 Anda, yang diperoleh pada langkah sebelumnya.
Langkah 5: Impor variabel, koneksi, dan kumpulan ke Airflow 3
Jika Anda tidak memiliki variabel atau koneksi, lewati perintah ekspor dan impor yang sesuai.
Anda hanya perlu mentransfer pool jika memiliki pool kustom selain
default_pool. Jika tidak, lewati perintah yang mengekspor dan mengimpor kumpulan.
Konfigurasi
airflowctluntuk menjalankan perintah Airflow CLI untuk lingkungan Airflow 3.Mengimpor variabel, koneksi, dan kumpulan ke lingkungan Airflow 3 menggunakan
airflowctl:airflowctl variables import ./variables.json airflowctl connections import ./connections.json airflowctl pools import ./pools.jsonPastikan variabel, koneksi, dan kumpulan diimpor ke lingkungan Airflow 3:
airflowctl variables list airflowctl connections list airflowctl pools listMembersihkan file JSON:
gcloud storage rm gs://AIRFLOW_2_BUCKET/data/variables.json gcloud storage rm gs://AIRFLOW_2_BUCKET/data/connections.json gcloud storage rm gs://AIRFLOW_2_BUCKET/data/pools.json rm ./variables.json rm ./connections.json rm ./pools.jsonGanti kode berikut:
AIRFLOW_2_BUCKET: nama bucket lingkungan Airflow 2 Anda.
Langkah 6: Transfer data lain dari bucket lingkungan Airflow 2 Anda
Pada langkah ini, Anda akan mentransfer data yang tersisa dari bucket lingkungan Airflow 2.
Dapatkan nama bucket lingkungan Airflow 3 Anda:
gcloud composer environments describe AIRFLOW_3_ENV \ --location AIRFLOW_3_LOCATION \ --format="value(storageConfig.bucket)"Ganti kode berikut:
AIRFLOW_3_ENV: nama lingkungan Airflow 3 Anda.AIRFLOW_3_LOCATION: region tempat lingkungan Airflow 3 berada.
Ekspor plugin dari bucket lingkungan Airflow 2 ke direktori
/pluginsdi bucket lingkungan Airflow 3:gcloud composer environments storage plugins export \ --destination=AIRFLOW_3_BUCKET/plugins \ --environment=AIRFLOW_2_ENV \ --location=AIRFLOW_2_LOCATIONGanti kode berikut:
AIRFLOW_3_BUCKET: nama bucket lingkungan Airflow 3 Anda, yang diperoleh pada langkah sebelumnya.AIRFLOW_2_ENV: nama lingkungan Airflow 2 Anda.AIRFLOW_2_LOCATION: region tempat lingkungan Airflow 2 berada.
Periksa apakah direktori
/pluginsberhasil diimpor:gcloud composer environments storage plugins list \ --environment=AIRFLOW_3_ENV \ --location=AIRFLOW_3_LOCATIONGanti kode berikut:
AIRFLOW_3_ENV: nama lingkungan Airflow 3 Anda.AIRFLOW_3_LOCATION: region tempat lingkungan Airflow 3 berada.
Ekspor direktori
/datadari lingkungan Airflow 2 ke lingkungan Airflow 3:gcloud composer environments storage data export \ --destination=AIRFLOW_3_BUCKET/data \ --environment=AIRFLOW_2_ENV \ --location=AIRFLOW_2_LOCATIONGanti kode berikut:
AIRFLOW_3_BUCKET: nama bucket lingkungan Airflow 3 Anda, yang diperoleh pada langkah sebelumnya.AIRFLOW_2_ENV: nama lingkungan Airflow 2 Anda.AIRFLOW_2_LOCATION: region tempat lingkungan Airflow 2 berada.
Periksa apakah folder
/databerhasil diimpor:gcloud composer environments storage data list \ --environment=AIRFLOW_3_ENV \ --location=AIRFLOW_3_LOCATION
Langkah 7: Transfer pengguna dan peran
Pengguna dan peran tidak dapat dimigrasikan karena airflowctl belum mendukung perintah users dan roles.
Langkah 8: Pastikan DAG Anda siap untuk Airflow 3
Sesuaikan DAG Airflow Anda agar kompatibel dengan Airflow 3.
Tinjau tugas yang ditulis khusus untuk akses database Airflow langsung:
Di Airflow 3, operator tidak dapat mengakses database metadata Airflow secara langsung menggunakan sesi database. Jika Anda memiliki operator kustom, tinjau kode Anda untuk memastikan tidak ada panggilan akses database langsung.
Anda dapat menggunakan salah satu pendekatan alternatif untuk bermigrasi dari akses database Airflow langsung dalam tugas:
Akses ke database Airflow melalui mengekspor konten database Airflow ke instance Cloud SQL.
Gunakan klien Python Airflow. Klien Python yang disediakan oleh Airflow versi komunitas memiliki API yang ditentukan untuk sebagian besar tabel, seperti
DagRuns,TaskInstances,Variables,Connections,XComs. Paketapache-airflow-clientsudah diinstal sebelumnya di build Airflow 3 Managed Airflow.Jalankan
airflowctlmelaluiBashOperatordari DAG.
Jika kueri database Airflow yang diekspor bukan opsi untuk kasus penggunaan Anda dan klien python Airflow serta
airflowctltidak menyediakan fungsi yang diperlukan, pertimbangkan untuk meminta endpoint API atau fitur Task SDK baru di Airflow versi komunitas.Jika Anda memiliki tugas
KubernetesExecutor, sesuaikan definisi operatornya dengan menggantiqueue="kubernetes"denganexecutor="KubernetesExecutor".Contoh tugas
KubernetesExecutordi Airflow 3:PythonOperator( task_id="airflow3_kubernetes_executor_task", dag=dag, python_callable=f, executor="KubernetesExecutor", )Jika Anda menggunakan variabel lingkungan
AIRFLOW__WEBSERVER__BASE_URLdalam kode tugas, ganti dengan opsi konfigurasi Airflow[api]base_url.Contoh cara mendapatkan nilai ini di Airflow 3:
from airflow.configuration import conf webserver_base_url = conf.get("api", "base_url")
Langkah 9: Transfer DAG ke lingkungan Airflow 3
Masalah potensial berikut dapat terjadi saat Anda mentransfer DAG antarlingkungan:
Jika DAG diaktifkan (tidak dijeda) di kedua lingkungan, setiap lingkungan akan menjalankan salinan DAG-nya sendiri, sesuai jadwal. Hal ini dapat menyebabkan DAG berjalan secara serentak untuk data dan waktu eksekusi yang sama.
Karena pengejaran DAG, Airflow menjadwalkan eksekusi DAG tambahan, dimulai dari tanggal mulai yang ditentukan dalam DAG Anda. Hal ini terjadi karena instance Airflow baru tidak memperhitungkan histori DAG yang berjalan dari lingkungan Airflow 2. Hal ini dapat menyebabkan banyaknya proses DAG yang dijadwalkan mulai dari tanggal mulai yang ditentukan.
Mencegah operasi DAG serentak
Di lingkungan Airflow 3 Anda, ganti opsi konfigurasi Airflow dags_are_paused_at_creation. Setelah Anda melakukan perubahan ini, semua DAG baru akan dijeda secara default.
| Bagian | Kunci | Nilai |
|---|---|---|
core |
dags_are_paused_at_creation |
True |
Mencegah operasi DAG tambahan atau yang tidak ada
Tentukan tanggal mulai statis baru di DAG yang Anda transfer ke lingkungan Airflow 3.
Untuk menghindari kesenjangan dan tumpang-tindih dalam tanggal logis, proses DAG pertama harus terjadi di lingkungan Airflow 3 pada interval jadwal berikutnya. Untuk melakukannya, tetapkan tanggal mulai baru di DAG Anda agar sebelum tanggal eksekusi terakhir di lingkungan Airflow 2.
Sebagai contoh, jika DAG Anda berjalan pada pukul 15.00, 17.00, dan 21.00 setiap hari di lingkungan Airflow 2, DAG run terakhir terjadi pada pukul 15.00, dan Anda berencana mentransfer DAG pada pukul 15.15, maka tanggal mulai untuk lingkungan Airflow 3 dapat ditetapkan hari ini pukul 14.45. Setelah Anda mengaktifkan DAG di lingkungan Airflow 3, Airflow akan menjadwalkan eksekusi DAG pada pukul 17.00.
Sebagai contoh lain, jika DAG Anda berjalan pada pukul 00.00 setiap hari di lingkungan Airflow 2, DAG terakhir berjalan pada pukul 00.00 pada 26 Maret 2026, dan Anda berencana mentransfer DAG pada pukul 13.00 pada 26 Maret 2026, maka tanggal mulai untuk lingkungan Airflow 3 dapat berupa 25 Maret 2026 pukul 23.45. Setelah Anda mengaktifkan DAG di lingkungan Airflow 3, Airflow akan menjadwalkan eksekusi DAG pada pukul 00.00 pada 27 Maret 2026.
Transfer DAG Anda satu per satu ke lingkungan Airflow 3
Untuk setiap DAG, ikuti prosedur ini untuk mentransfernya:
Pastikan tanggal mulai baru di DAG ditetapkan seperti yang dijelaskan di bagian sebelumnya.
Upload DAG yang telah diupdate ke lingkungan Airflow 3. DAG ini dijeda di lingkungan Airflow 3 karena penggantian konfigurasi, sehingga tidak ada DAG yang dijadwalkan.
Di antarmuka web Airflow, buka DAG dan periksa error sintaksis DAG yang dilaporkan.
Pada saat Anda berencana mentransfer DAG:
Jeda DAG di lingkungan Airflow 2.
Lanjutkan DAG di lingkungan Airflow 3 Anda.
Pastikan DAG run baru dijadwalkan pada waktu yang tepat.
Tunggu hingga operasi DAG terjadi di lingkungan Airflow 3 dan periksa apakah operasi berhasil.
Bergantung pada apakah operasi DAG berhasil:
Jika operasi DAG berhasil, Anda dapat melanjutkan dan menggunakan DAG dari lingkungan Airflow 3. Terakhir, pertimbangkan untuk menghapus DAG versi Airflow 2.
Jika operasi DAG gagal, coba memecahkan masalah DAG hingga berhasil dijalankan di Airflow 3.
Jika diperlukan, Anda selalu dapat kembali ke versi Airflow 2 dari DAG:
Jeda DAG di lingkungan Airflow 3 Anda.
Lanjutkan DAG di lingkungan Airflow 3 Anda. Tindakan ini akan menjadwalkan operasi DAG baru untuk tanggal dan waktu yang sama dengan operasi DAG yang gagal.
Saat Anda siap melanjutkan dengan DAG versi Airflow 3, sesuaikan tanggal mulai, upload DAG versi baru ke lingkungan Airflow 3, dan ulangi prosedur.
Langkah 10: Pantau lingkungan Airflow 3 Anda
Setelah Anda mentransfer semua DAG dan konfigurasi ke lingkungan Airflow 3, pantau potensi masalah, kegagalan eksekusi DAG, dan kesehatan lingkungan secara keseluruhan. Jika lingkungan Airflow 3 berjalan tanpa masalah selama jangka waktu yang cukup, Anda dapat menghapus lingkungan Airflow 2.
Langkah berikutnya
- Pemecahan Masalah DAG
- Memecahkan masalah pembuatan lingkungan
- Memecahkan masalah update dan upgrade lingkungan