Untuk menjalankan pekerjaan Spark—termasuk Spark SQL dan Spark Jar—dengan biaya lebih rendah, Anda dapat mengaktifkan spot instances pada kelompok sumber daya pekerjaan. Setelah diaktifkan, kluster akan mencoba menggunakan sumber daya pelaksana (executor) Spark yang menganggur dan berharga lebih murah untuk menjalankan pekerjaan tersebut. Topik ini menjelaskan konsep spot instances, kasus penggunaannya, serta cara menggunakannya.
Prasyarat
Kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse telah dibuat.
Spot instances
Spot instances adalah sumber daya pelaksana (executor) Spark yang menganggur dari kolam sumber daya AnalyticDB for MySQL yang dapat Anda beli dengan diskon signifikan.
Sumber daya spot instance berbeda dari sumber daya elastis ACU dalam hal-hal berikut:
-
Harga sumber daya spot instance sekitar 30% lebih murah dibandingkan sumber daya elastis ACU.
-
Saat Anda mengirimkan pekerjaan Spark ke kelompok sumber daya pekerjaan yang telah diaktifkan spot instances-nya, kluster pertama-tama akan mencoba mendapatkan sumber daya spot instance yang menganggur dan berharga lebih murah. Jika berhasil, pekerjaan Spark akan berjalan menggunakan sumber daya spot instance dan ditagih sesuai tarif spot. Jika gagal, pekerjaan tersebut akan menggunakan sumber daya elastis ACU dan ditagih sesuai tarif standar.
-
Secara default, Alibaba Cloud menyediakan periode perlindungan selama satu jam untuk spot instances AnalyticDB for MySQL. Hal ini memastikan bahwa sumber daya spot instance tidak dipreempt dalam satu jam pertama. Setelah periode perlindungan berakhir, sumber daya tersebut dapat ditarik kembali, dan probabilitas preempt meningkat seiring bertambahnya durasi penggunaan.
-
Pekerjaan Spark yang berjalan pada sumber daya spot instance memiliki prioritas lebih rendah. Jika kluster lain mengirimkan pekerjaan Spark yang tidak menggunakan spot instances, pekerjaan tersebut dapat mempreempt sumber daya spot instance Anda. Preempt ini melepaskan sumber daya dan dapat menyebabkan kegagalan pekerjaan. Probabilitas kegagalan akibat preempt spot instance berkisar antara 1% hingga 5%.
Kasus penggunaan dan rekomendasi
Kami merekomendasikan mengaktifkan spot instances untuk skenario berikut:
-
Pengembangan pekerjaan Spark.
-
Beban kerja yang sensitif terhadap biaya.
-
Beban kerja yang dapat mentoleransi kegagalan pekerjaan Spark.
-
Beban kerja di mana sebagian besar pekerjaan Spark selesai dalam waktu kurang dari satu jam.
Untuk beban kerja campuran yang mencakup pekerjaan berdurasi pendek dan panjang, kami merekomendasikan salah satu strategi berikut:
-
Buat dua kelompok sumber daya pekerjaan: aktifkan spot instances pada salah satu kelompok untuk pekerjaan berdurasi pendek, dan nonaktifkan pada kelompok lainnya untuk pekerjaan berdurasi panjang.
-
Buat satu kelompok sumber daya pekerjaan dan aktifkan spot instances. Saat menjalankan pekerjaan Spark, Anda dapat mengonfigurasi parameter
spark.adb.spotInstance.disableduntuk mencegah pekerjaan Spark menggunakan spot instances.
Batasan
-
Spot instances hanya tersedia di wilayah berikut: Tiongkok (Qingdao), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Shenzhen), Tiongkok (Guangzhou), Tiongkok (Hong Kong), Jepang (Tokyo), Singapura, AS (Silicon Valley), AS (Virginia), Jerman (Frankfurt), dan Inggris (London).
-
Spot instances hanya dapat diaktifkan untuk kelompok sumber daya pekerjaan. Mengaktifkan fitur ini tidak menjamin bahwa semua sumber daya atau semua pekerjaan Spark dalam kelompok sumber daya akan menggunakan spot instances; fitur ini hanya berarti bahwa pekerjaan Spark akan mencoba menggunakannya.
-
Hanya pekerjaan Spark yang dapat menggunakan spot instances.
-
Hanya spesifikasi sumber daya Spark Executor tertentu yang mendukung spot instances: large dan 2xlarge.
Penagihan
Sumber daya spot instance diberi harga dengan diskon sekitar 30% dibandingkan sumber daya elastis ACU. Untuk informasi lebih lanjut mengenai harga, lihat Harga Edisi Perusahaan dan Edisi Dasar dan Harga Edisi Data Lakehouse.
Aktifkan spot instances
Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut.
-
Di panel navigasi sebelah kiri, pilih Cluster Management>Resource Management, lalu klik tab Resource Groups.
Kelompok sumber daya yang sudah ada
-
Temukan kelompok sumber daya pekerjaan target lalu klik Actions di kolom Modify.
-
Pada panel Modify Resource Group yang muncul, aktifkan sakelar Preemptible instance.
-
Klik OK.
-
Di kolom Preemptible instance untuk kelompok sumber daya tersebut, periksa apakah fitur telah diaktifkan.
Setelah diaktifkan, semua pekerjaan Spark yang berjalan dalam kelompok sumber daya pekerjaan akan mencoba menggunakan spot instances.
Kelompok sumber daya baru
-
Di pojok kanan atas daftar kelompok sumber daya, klik Create Resource Group dan konfigurasikan parameter-parameter berikut.
Parameter
Deskripsi
Resource Group Name
Nama kustom untuk kelompok sumber daya. Nama harus terdiri dari 2 hingga 30 karakter, dimulai dengan huruf, dan hanya boleh berisi huruf, angka, serta garis bawah (_).
Job Type
Pilih Job dari daftar drop-down. Kelompok sumber daya job dirancang untuk pemrosesan batch throughput tinggi dan menskalakan sumber daya komputasi sesuai permintaan.
Minimum Computing Resources
Nilai minimum adalah 0 ACU.
Maximum Computing Resources
Jumlah maksimum sumber daya komputasi yang dapat Anda atur di konsol adalah 1.024 ACU, dengan penambahan kelipatan 8 ACU. Jika Anda memerlukan batas yang lebih tinggi, submit a ticket.
Spot Instance
Aktifkan sakelar Spot Instance.
Setelah Anda mengaktifkan spot instances, pekerjaan Spark yang berjalan dalam kelompok sumber daya pekerjaan akan mencoba menggunakan sumber daya spot instance.
-
Klik OK untuk membuat kelompok sumber daya.
-
Setelah kelompok sumber daya dibuat, periksa kolom Spot Instance untuk memastikan fitur telah diaktifkan.
Setelah diaktifkan, semua pekerjaan Spark yang berjalan dalam kelompok sumber daya pekerjaan akan mencoba menggunakan spot instances.
-
Nonaktifkan untuk pekerjaan tertentu (Opsional)
Jika Anda tidak ingin pekerjaan Spark tertentu menggunakan spot instances, atur parameter berikut di bagian CONF pekerjaan Spark tersebut:
|
Parameter |
Wajib |
Deskripsi |
|
spark.adb.spotInstance.disabled |
Tidak |
Menentukan apakah pekerjaan Spark menggunakan spot instances. Nilai yang valid:
|
Setelah pekerjaan selesai, Anda dapat memeriksa metrik Spot Instance Resource Usage untuk memastikan konfigurasi telah diterapkan. Jika nilai Spot Instance Resource Usage adalah 0, berarti pekerjaan Spark yang dikirimkan tidak menggunakan sumber daya spot instance.
Lihat penggunaan sumber daya spot instance
Setelah pekerjaan Spark selesai, buka halaman Monitoring untuk kelompok sumber daya pekerjaan guna melihat penggunaan sumber daya spot instance.
Nonaktifkan spot instances
Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut.
-
Di panel navigasi sebelah kiri, pilih Cluster Management>Resource Management, lalu klik tab Resource Groups.
-
Temukan kelompok sumber daya pekerjaan target lalu klik Actions di kolom Modify.
-
Pada panel Modify Resource Group yang muncul, nonaktifkan sakelar Spot Instance.
-
Klik OK.
-
Di kolom Spot Instance untuk kelompok sumber daya tersebut, periksa apakah fitur telah dinonaktifkan.
API terkait
|
API |
Deskripsi |
|
Membuat kelompok sumber daya untuk kluster Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse. |
|
|
Memodifikasi kelompok sumber daya yang sudah ada dari kluster Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse. |
|
|
Menanyakan informasi mengenai kelompok sumber daya dari kluster Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse. |
|
|
Menanyakan detail penggunaan sumber daya dari kluster Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse. |