Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Halaman ini menjelaskan data apa yang disimpan Managed Service for Apache Airflow untuk lingkungan Anda di Cloud Storage.
Saat Anda membuat lingkungan, Managed Airflow akan membuat bucket Cloud Storage dan mengaitkan bucket tersebut dengan lingkungan Anda. Nama bucket didasarkan pada region, nama, dan ID acak lingkungan seperti us-central1-b1-6efabcde-bucket.
Managed Airflow menyinkronkan folder tertentu di bucket lingkungan Anda ke komponen Airflow yang berjalan di lingkungan Anda. Misalnya, saat Anda memperbarui file dengan kode DAG Airflow di bucket lingkungan, komponen Airflow juga menerima versi yang diperbarui. Managed Airflow menggunakan Cloud Storage FUSE untuk sinkronisasi.
Folder di bucket Cloud Storage
| Folder | Jalur penyimpanan | Direktori yang dipetakan | Deskripsi |
|---|---|---|---|
| DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Menyimpan DAG untuk lingkungan Anda. |
| Plugin | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Menyimpan plugin kustom Anda, seperti operator, hook, sensor, atau antarmuka Airflow in-house kustom. |
| Data | gs://bucket-name/data |
/home/airflow/gcs/data |
Menyimpan data yang dihasilkan dan digunakan oleh tugas. |
| Log | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Menyimpan log Airflow untuk tugas. Log juga tersedia di UI Airflow dan di tab Logs di konsol Google Cloud . |
Managed Airflow menyinkronkan folder secara satu arah: dari bucket ke komponen Airflow. Sinkronisasi satu arah berarti perubahan lokal di folder ini pada komponen Airflow akan ditimpa.
Sinkronisasi data memiliki konsistensi tertunda. Untuk mengirim pesan dari satu operator ke operator lain, gunakan XComs.
Pertimbangan kapasitas
Data dari folder dags/, plugins/, dan data/ disinkronkan ke penjadwal dan pekerja Airflow.
Isi folder plugins/ disinkronkan ke server web Airflow.
Makin banyak data yang dimasukkan ke dalam folder ini, makin banyak ruang yang digunakan dalam penyimpanan lokal komponen Airflow. Menyimpan terlalu banyak data di
dags/ dan plugins/ dapat mengganggu operasi Anda dan menyebabkan masalah seperti:
Worker atau penjadwal kehabisan penyimpanan lokal dan dikeluarkan karena ruang yang tidak cukup pada disk lokal komponen.
Sinkronisasi file dari folder
dags/danplugins/ke pekerja dan penjadwal membutuhkan waktu yang lama.Menyinkronkan file dari folder
dags/danplugins/ke worker dan penjadwal menjadi tidak mungkin. Misalnya, Anda menyimpan file 2 GB di folderdags/, tetapi disk lokal pekerja Airflow hanya dapat menampung 1 GB. Selama sinkronisasi, pekerja kehabisan penyimpanan lokal dan sinkronisasi tidak dapat diselesaikan.
Folder DAG dan plugin
Untuk menghindari kegagalan eksekusi DAG, simpan DAG, plugin, dan modul Python Anda di folder dags/ atau plugins/, meskipun modul Python Anda tidak berisi DAG atau plugin.
Misalnya, Anda menggunakan DataFlowPythonOperator yang mereferensikan pipeline Dataflow py_file. py_file tersebut tidak berisi DAG atau
plugin, tetapi Anda tetap harus menyimpannya di folder dags/ atau plugins/.
Folder data
Ada skenario saat file tertentu dari folder data/ disinkronkan ke komponen Airflow tertentu. Misalnya, saat
Managed Service for Apache Airflow mencoba membaca file tertentu untuk pertama kalinya selama:
Penguraian DAG: Saat file dibaca untuk pertama kalinya selama penguraian DAG, Managed Service untuk Apache Airflow menyinkronkannya ke scheduler yang mengurai DAG.
Eksekusi DAG: Saat file dibaca untuk pertama kalinya selama eksekusi DAG, Managed Service for Apache Airflow menyinkronkannya ke pekerja yang menjalankan eksekusi.
Komponen Airflow memiliki penyimpanan lokal terbatas, jadi pertimbangkan untuk menghapus file yang didownload untuk mengosongkan ruang disk di komponen Anda. Perhatikan bahwa penggunaan penyimpanan lokal juga dapat meningkat sementara jika Anda memiliki tugas serentak yang mendownload file yang sama ke satu pekerja Airflow.
Folder log
Folder logs/ disinkronkan dari pekerja Airflow ke bucket
lingkungan menggunakan Cloud Storage API.
Kuota Cloud Storage API dihitung berdasarkan jumlah data yang dipindahkan, sehingga jumlah tugas Airflow yang dijalankan sistem Anda dapat meningkatkan penggunaan Cloud Storage API: semakin banyak tugas yang Anda jalankan, semakin besar file log Anda.
Sinkronisasi dengan server web
Folder plugins/ disinkronkan secara otomatis ke server web sehingga plugin dapat dimuat oleh UI Airflow. Di Managed Airflow (Gen 3), Anda dapat
menonaktifkan dan mengaktifkan plugin server web sesuai
permintaan, tanpa menghapus file dari bucket lingkungan.