Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi penskalaan otomatis MWAA pekerja Amazon
Mekanisme penskalaan otomatis secara otomatis meningkatkan jumlah pekerja Apache Airflow sebagai respons terhadap tugas yang sedang berjalan dan antri di lingkungan Alur Kerja Terkelola Amazon untuk Apache Airflow Anda dan membuang pekerja tambahan saat tidak ada lagi tugas yang diantri atau dijalankan. Topik ini menjelaskan bagaimana Anda dapat mengonfigurasi penskalaan otomatis dengan menentukan jumlah maksimum pekerja Apache Airflow yang berjalan di lingkungan Anda menggunakan konsol Amazon. MWAA
catatan
Amazon MWAA menggunakan metrik Apache Airflow untuk menentukan kapan pekerja Celery Executormax-workers
Ketika pekerja tambahan menyelesaikan pekerjaan dan beban kerja berkurang, Amazon MWAA menghapusnya, sehingga menurunkan skala kembali ke nilai yang ditetapkan oleh. min-workers
Jika pekerja mengambil tugas baru saat menurunkan skala, Amazon MWAA menyimpan sumber daya Fargate dan tidak menghapus pekerja. Untuk informasi selengkapnya, lihat Cara kerja penskalaan MWAA otomatis Amazon.
Bagian-bagian
Cara kerja penskalaan pekerja
Amazon MWAA menggunakan RunningTasks
dan QueuedTasks
metrik, di mana (tugas yang menjalankan+tugas diantrian)/(tugas per pekerja) = (pekerja wajib). Jika jumlah pekerja yang dibutuhkan lebih besar dari jumlah pekerja saat ini, Amazon MWAA akan menambahkan kontainer pekerja Fargate ke nilai tersebut, hingga nilai maksimum yang ditentukan oleh. max-workers
Saat beban kerja berkurang dan jumlah QueuedTasks
metrik RunningTasks
dan berkurang, Amazon MWAA meminta Fargate untuk menurunkan pekerja untuk lingkungan. Setiap pekerja yang masih menyelesaikan pekerjaan tetap terlindungi selama downscaling sampai mereka menyelesaikan pekerjaan mereka. Tergantung pada beban kerja, tugas dapat diantrian sementara pekerja menurunkan skala.
Menggunakan MWAA konsol Amazon
Anda dapat memilih jumlah maksimum pekerja yang dapat berjalan di lingkungan Anda secara bersamaan di MWAA konsol Amazon. Secara default, Anda dapat menentukan nilai maksimum hingga 25.
Untuk mengkonfigurasi jumlah pekerja
-
Buka halaman Lingkungan
di MWAA konsol Amazon. -
Pilih lingkungan.
-
Pilih Edit.
-
Pilih Berikutnya.
-
Pada panel kelas Lingkungan, masukkan nilai dalam Jumlah pekerja maksimum.
-
Pilih Simpan.
catatan
Ini bisa memakan waktu beberapa menit sebelum perubahan berlaku pada lingkungan Anda.
Contoh kasus penggunaan kinerja tinggi
Bagian berikut menjelaskan jenis konfigurasi yang dapat Anda gunakan untuk mengaktifkan kinerja tinggi dan paralelisme pada lingkungan.
Aliran Udara Apache di lokasi
Biasanya, dalam platform Apache Airflow di lokasi, Anda akan mengonfigurasi paralelisme tugas, penskalaan otomatis, dan pengaturan konkurensi dalam file Anda: airflow.cfg
-
core.parallelism
— Jumlah maksimum instance tugas yang dapat berjalan secara bersamaan per penjadwal. -
core.dag_concurrency
— Konkurensi maksimum untuk DAGs (bukan pekerja). -
celery.worker_autoscale
— Jumlah tugas maksimum dan minimum yang dapat dijalankan secara bersamaan pada pekerja mana pun.
Misalnya, jika core.parallelism
disetel ke 100
dan core.dag_concurrency
disetel ke7
, Anda masih hanya dapat menjalankan total 14
tugas secara bersamaan jika Anda memiliki 2DAGs. Mengingat, masing-masing DAG diatur untuk menjalankan hanya tujuh tugas secara bersamaan (incore.dag_concurrency
), meskipun paralelisme keseluruhan diatur ke 100
(in). core.parallelism
Di MWAA lingkungan Amazon
Di MWAA lingkungan Amazon, Anda dapat mengonfigurasi pengaturan ini secara langsung di MWAA konsol Amazon menggunakan Menggunakan opsi konfigurasi Apache Airflow di Amazon MWAAMengonfigurasi kelas MWAA lingkungan Amazon, dan mekanisme penskalaan otomatis jumlah pekerja maksimum. Meskipun tidak core.dag_concurrency
tersedia dalam daftar drop-down sebagai opsi konfigurasi Apache Airflow di MWAA konsol Amazon, Anda dapat menambahkannya sebagai opsi konfigurasi Apache Airflow khusus.
Katakanlah, ketika Anda membuat lingkungan Anda, Anda memilih pengaturan berikut:
-
Kelas lingkungan mw1.small yang mengontrol jumlah maksimum tugas bersamaan yang dapat dijalankan setiap pekerja secara default dan v kontainer. CPU
-
Pengaturan default
10
Pekerja dalam jumlah pekerja Maksimum. -
Opsi konfigurasi Apache Airflow untuk
celery.worker_autoscale
5,5
tugas per pekerja.
Ini berarti Anda dapat menjalankan 50 tugas bersamaan di lingkungan Anda. Setiap tugas di atas 50 akan diantrian, dan menunggu tugas yang sedang berjalan selesai.
Jalankan lebih banyak tugas bersamaan. Anda dapat memodifikasi lingkungan untuk menjalankan lebih banyak tugas secara bersamaan menggunakan konfigurasi berikut:
-
Tingkatkan jumlah maksimum tugas bersamaan yang dapat dijalankan setiap pekerja secara default dan v CPU kontainer dengan memilih kelas lingkungan mw1.medium (10 tugas bersamaan secara default).
-
Tambahkan
celery.worker_autoscale
sebagai opsi konfigurasi Apache Airflow. -
Tingkatkan jumlah pekerja maksimum. Dalam contoh ini, meningkatkan pekerja maksimum dari
10
ke20
akan menggandakan jumlah tugas bersamaan yang dapat dijalankan lingkungan.
Tentukan Pekerja minimum. Anda juga dapat menentukan jumlah minimum dan maksimum Apache Airflow Workers yang berjalan di lingkungan Anda menggunakan AWS Command Line Interface ()AWS CLI. Sebagai contoh:
aws mwaa update-environment --max-workers 10 --min-workers 10 --name
YOUR_ENVIRONMENT_NAME
Untuk mempelajari lebih lanjut, lihat perintah update-environment di. AWS CLI
Memecahkan masalah tugas yang macet dalam status berjalan
Dalam kasus yang jarang terjadi, Apache Airflow mungkin berpikir ada tugas yang masih berjalan. Untuk mengatasi masalah ini, Anda perlu menghapus tugas yang terdampar di UI Apache Airflow Anda. Untuk informasi selengkapnya, lihat topik Memecahkan Masalah Alur Kerja Terkelola Amazon untuk Apache Airflow pemecahan masalah.
Apa selanjutnya?
-
Pelajari lebih lanjut tentang praktik terbaik yang kami rekomendasikan untuk menyesuaikan kinerja lingkungan AndaPenyetelan kinerja untuk Apache Airflow di Amazon MWAA.