Jika beban kerja bisnis Anda berfluktuasi, kami sarankan untuk mengaktifkan penskalaan otomatis pada cluster E-MapReduce (EMR) Anda dan mengonfigurasi aturan penskalaan otomatis untuk menambah atau mengurangi node tugas sesuai kebutuhan. Penskalaan otomatis membantu mengurangi biaya sekaligus memastikan sumber daya komputasi yang cukup untuk pekerjaan Anda. Topik ini menjelaskan cara mengonfigurasi penskalaan otomatis di konsol EMR.
Prasyarat
Cluster Hadoop EMR telah dibuat. Untuk informasi lebih lanjut, lihat Buat cluster.
Peringatan
Anda dapat menentukan spesifikasi perangkat keras dari node yang digunakan untuk penskalaan masuk atau keluar dari cluster. Spesifikasi perangkat keras hanya dapat dikonfigurasi ketika penskalaan otomatis dinonaktifkan. Jika modifikasi diperlukan dalam skenario tertentu, nonaktifkan penskalaan otomatis, ubah spesifikasi perangkat keras, lalu aktifkan kembali penskalaan otomatis.
Sistem secara otomatis mencari jenis instance yang sesuai dengan spesifikasi vCPU dan memori yang ditentukan dan menampilkannya di bagian Jenis Instance. Pilih satu atau lebih jenis instance agar cluster dapat diskalakan berdasarkan jenis instance tersebut.
Anda dapat memilih hingga tiga jenis instance untuk mencegah kegagalan penskalaan otomatis akibat kurangnya sumber daya Elastic Compute Service (ECS).
Ukuran minimum disk data adalah 40 GiB, baik menggunakan ultra disk maupun SSD standar.
Penskalaan berbasis beban adalah fitur berdasarkan CloudMonitor yang memungkinkan pengelolaan grup penskalaan otomatis secara dinamis. Setelah mengonfigurasi aturan penskalaan otomatis, CloudMonitor akan membuat aturan peringatan terkait. Untuk memastikan kelancaran aktivitas penskalaan otomatis EMR, jangan ubah, hapus, atau nonaktifkan aturan peringatan yang dibuat oleh CloudMonitor.
Prosedur
Buka tab Penskalaan Otomatis.
Masuk ke konsol EMR. Di panel navigasi sebelah kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah tempat cluster Anda berada dan pilih grup sumber daya sesuai kebutuhan bisnis Anda.
Di halaman EMR on ECS, temukan cluster yang diinginkan dan klik nama cluster di kolom ID/Nama Cluster.
Di halaman yang muncul, klik tab Auto Scaling.
Buat grup penskalaan otomatis.
Di tab Configure Scaling, klik Create Auto Scaling Group.
CatatanGrup penskalaan otomatis hanya dapat dikonfigurasi dan dikelola di tab Penskalaan Otomatis.
Di kotak dialog Add Auto Scaling Group, masukkan nama di bidang Node Group Name dan klik OK.
Di tab Configure Scaling, temukan grup penskalaan otomatis yang dibuat dan klik Configure Rule di kolom Tindakan.
Di bagian Basic Information dari panel Configure Auto Scaling, konfigurasikan parameter. Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
Maximum Number of Instances
Jumlah maksimum node tugas dalam grup penskalaan otomatis. Jika aturan penskalaan otomatis terpenuhi tetapi batas atas telah dicapai, sistem tidak akan memicu penskalaan otomatis. Nilai maksimum: 1000.
Minimum Number of Instances
Jumlah minimum node tugas dalam grup penskalaan otomatis. Jika jumlah node tugas yang dikonfigurasi dalam aturan penskalaan otomatis kurang dari nilai parameter ini, cluster akan diskalakan berdasarkan nilai parameter ini pada saat pertama kali aturan dipicu.
Sebagai contoh, jika parameter ini disetel ke 3 dan aturan penskalaan keluar adalah bahwa satu node ditambahkan pada pukul 00:00 setiap hari, sistem menambahkan tiga node pada pukul 00:00 di hari pertama. Dengan cara ini, persyaratan untuk jumlah minimum node terpenuhi.
Graceful Shutdown
Periode waktu habis untuk mendepresiasi node tugas tempat pekerjaan di YARN berjalan. Jika periode waktu pekerjaan di YARN telah berjalan melebihi periode waktu habis atau tidak ada pekerjaan di YARN yang berjalan, sistem mendepresiasi node tugas. Nilai maksimum Periode Waktu Habis adalah 3600, dalam detik.
PentingUntuk mengaktifkan penghentian anggun, Anda harus terlebih dahulu mengubah nilai parameter yarn.resourcemanager.nodes.exclude-path di halaman layanan YARN menjadi /etc/ecm/hadoop-conf/yarn-exclude.xml.
Setelah Anda mengubah nilai Periode Waktu Habis, mulai ulang YARN ResourceManager selama jam-jam sepi agar modifikasi berlaku.
Di bagian tengah panel Configure Auto Scaling, konfigurasikan parameter berikut: Mode Pemilihan Jenis Instance, Metode Penagihan, dan Jenis Instance.
Single Billing Method
Sistem secara otomatis mencari jenis instance yang sesuai dengan spesifikasi vCPU dan memori yang ditentukan dan menampilkannya di bagian Jenis Instance. Pilih satu atau lebih jenis instance agar cluster dapat diskalakan berdasarkan jenis instance tersebut. Metode Penagihan Tunggal mendukung metode penagihan berikut:
Pay-as-you-go
Urutan pemilihan jenis instance menentukan prioritas instance yang digunakan. Harga per jam setiap instance ditampilkan di bawah spesifikasi disk di bagian Jenis Instance. Harga tersebut merupakan jumlah harga layanan EMR dan harga instance ECS.

Preemptible Instance
PentingJika Anda memiliki persyaratan tingkat layanan (SLA) yang tinggi untuk pekerjaan Anda, hindari memilih opsi ini karena instance preemptible dapat dilepaskan akibat gagal lelang atau alasan lainnya.
Urutan pemilihan jenis instance menentukan prioritas instance yang digunakan. Harga per jam setiap instance berdasarkan metode penagihan bayar sesuai pemakaian ditampilkan di bawah spesifikasi disk di bagian Jenis Instance. Anda juga dapat menentukan batas atas untuk harga per jam setiap instance. Instance tersebut hanya ditampilkan jika harganya tidak melebihi batas atas. Untuk informasi lebih lanjut tentang instance preemptible, lihat Ikhtisar

Cost Optimization Mode
Dalam mode ini, Anda dapat mengembangkan kebijakan optimasi biaya rinci untuk mencapai keseimbangan antara biaya dan stabilitas.

Parameter
Deskripsi
Minimum Pay-As-You-Go Nodes in Auto Scaling Group
Jumlah minimum instance bayar sesuai pemakaian yang diperlukan oleh grup penskalaan otomatis. Jika jumlah instance bayar sesuai pemakaian dalam grup penskalaan otomatis kurang dari nilai parameter ini, instance bayar sesuai pemakaian akan diprioritaskan untuk dibuat.
Percentage of Pay-As-You-Go Nodes
Proporsi instance bayar sesuai pemakaian dalam grup penskalaan otomatis setelah jumlah instance bayar sesuai pemakaian yang dibuat mencapai nilai parameter Jumlah Minimum Node Bayar Sesuai Pemakaian dalam Grup Penskalaan Otomatis.
Lowest-Cost Instance Types
Jumlah jenis instance yang memiliki harga terendah. Jika instance preemptible diperlukan, sistem secara merata membuat instance preemptible dari jenis instance yang memiliki harga terendah. Nilai maksimum: 3.
Replace Preemptible Instances
Menentukan apakah akan mengaktifkan suplementasi instance preemptible. Jika fitur ini diaktifkan, sistem secara otomatis mengganti instance preemptible saat ini dengan instance bayar sesuai pemakaian sekitar 5 menit sebelum instance preemptible direklaim.
Jika Anda tidak mengonfigurasi parameter Minimum Pay-As-You-Go Nodes in Auto Scaling Group, Percentage of Pay-As-You-Go Nodes, atau Lowest-Cost Instance Types, grup tersebut adalah grup penskalaan optimasi biaya umum. Jika Anda mengonfigurasi parameter tersebut, grup tersebut adalah grup penskalaan optimasi biaya instance campuran. Kedua jenis grup penskalaan optimasi biaya sepenuhnya kompatibel satu sama lain dalam hal antarmuka dan fitur.
Anda dapat menggunakan grup penskalaan optimasi biaya instance campuran untuk mencapai efek yang sama seperti grup penskalaan optimasi biaya umum tertentu dengan mengonfigurasi kebijakan instance campuran yang sesuai. Contoh:
Dalam grup penskalaan optimasi biaya umum, hanya instance bayar sesuai pemakaian yang dibuat.
Dalam grup penskalaan optimasi biaya instance campuran Anda, atur Minimum Pay-As-You-Go Nodes in Auto Scaling Group ke 0, Percentage of Pay-As-You-Go Nodes ke 100%, dan Lowest-Cost Instance Types ke 1.
Dalam grup penskalaan optimasi biaya umum, instance preemptible diprioritaskan untuk dibuat.
Dalam grup penskalaan optimasi biaya instance campuran Anda, atur Minimum Pay-As-You-Go Nodes in Auto Scaling Group ke 0, Percentage of Pay-As-You-Go Nodes ke 0%, dan Lowest-Cost Instance Types ke 1.
Di bagian bawah panel Configure Auto Scaling, konfigurasikan parameter Mode Pemicu dan Aturan Pemicu.
Time-based Scaling: Jika beban kerja komputasi cluster Hadoop berfluktuasi secara berkala, Anda dapat menambah dan menghapus sejumlah node tugas tertentu pada titik waktu tetap setiap hari, minggu, atau bulan untuk melengkapi atau menghemat sumber daya komputasi. Ini memastikan bahwa pekerjaan dapat diselesaikan dengan biaya rendah.
Aturan penskalaan otomatis dibagi menjadi aturan penskalaan keluar dan aturan penskalaan masuk. Tabel berikut menjelaskan parameter untuk aturan penskalaan keluar. Jika Anda menonaktifkan penskalaan otomatis untuk cluster, semua aturan penskalaan otomatis akan dihapus. Jika Anda mengaktifkan penskalaan otomatis untuk cluster lagi, Anda harus mengonfigurasi ulang aturan penskalaan otomatis.
Parameter
Deskripsi
Rule Name
Nama aturan penskalaan keluar. Nama aturan penskalaan otomatis harus unik dalam sebuah cluster.
Execution Rule
Execute Repeatedly: Penskalaan otomatis dilakukan pada titik waktu tertentu setiap hari, setiap minggu, atau setiap bulan.
Execute Only Once: Penskalaan otomatis dilakukan hanya sekali pada titik waktu tertentu.
Execution Time
Titik waktu tertentu saat aturan penskalaan keluar dieksekusi.
Rule Expiration Time
Waktu kadaluarsa aturan penskalaan keluar.
Retry Time Range
Interval percobaan ulang. Penskalaan otomatis mungkin gagal pada titik waktu yang ditentukan karena berbagai alasan. Jika interval percobaan ulang ditentukan, sistem mencoba melakukan penskalaan otomatis setiap 30 detik selama interval percobaan ulang yang ditentukan oleh parameter ini sampai penskalaan otomatis dilakukan. Nilai valid: 0 hingga 21600. Unit: detik.
Sebagai contoh, operasi penskalaan otomatis A perlu dilakukan dalam periode waktu tertentu. Jika operasi penskalaan otomatis B masih berlangsung atau dalam keadaan cooldown selama periode ini, operasi A tidak dapat dilakukan. Dalam hal ini, sistem mencoba melakukan operasi A setiap 30 detik dalam interval percobaan ulang yang Anda tentukan. Jika kondisi yang diperlukan terpenuhi, cluster segera melakukan penskalaan otomatis.
Number of Adjusted Instances
Jumlah node tugas yang ditambahkan ke cluster setiap kali aturan penskalaan keluar dipicu.
Cooldown Time (s)
Interval antara dua aktivitas penskalaan keluar. Aktivitas penskalaan keluar dilarang selama cooldown.
Load-based Scaling: Anda dapat menambahkan aturan penskalaan berbasis beban untuk grup node tugas dalam cluster di mana fluktuasi beban kerja komputasi big data tidak dapat diprediksi secara akurat.
Aturan penskalaan otomatis dibagi menjadi aturan penskalaan keluar dan aturan penskalaan masuk. Tabel berikut menjelaskan parameter untuk aturan penskalaan keluar. Jika Anda menonaktifkan penskalaan otomatis untuk cluster, semua aturan penskalaan otomatis akan dihapus. Jika Anda mengaktifkan penskalaan otomatis untuk cluster lagi, Anda harus mengonfigurasi ulang aturan penskalaan otomatis. Jika Anda mengganti kebijakan penskalaan, seperti dari penskalaan berbasis beban ke penskalaan berbasis waktu, aturan penskalaan otomatis yang ditambahkan ke kebijakan penskalaan asli tidak valid dan tidak dapat dipicu. Node yang ditambahkan berdasarkan aturan tersebut dipertahankan dan tidak dilepaskan.

Parameter
Deskripsi
Rule Name
Nama aturan penskalaan keluar. Nama aturan penskalaan otomatis harus unik dalam sebuah cluster.
Cluster Load Metrics
Metrik beban cluster saat ini. Metrik beban diperoleh dari YARN. Untuk informasi lebih lanjut, lihat Dokumentasi resmi Hadoop.
Untuk informasi tentang pemetaan antara metrik penskalaan otomatis EMR dan metrik beban YARN, lihat Deskripsi metrik penskalaan otomatis EMR yang cocok dengan metrik beban YARN.
Statistical Period
Periode statistik untuk mengukur apakah nilai dimensi agregasi yang ditentukan (rata-rata, maksimum, atau minimum) untuk metrik beban cluster yang ditentukan mencapai ambang batas.
Statistical Rule
Condition Repetition Threshold
Jumlah pengulangan yang diperlukan bahwa nilai dimensi agregasi yang ditentukan untuk metrik beban cluster yang ditentukan mencapai ambang batas sebelum aturan penskalaan keluar dapat dipicu.
Number of Adjusted Instances
Jumlah node tugas yang ditambahkan ke cluster setiap kali aturan penskalaan keluar dipicu.
Cooldown Time (s)
Interval antara dua aktivitas penskalaan keluar. Selama waktu cooldown, aturan penskalaan keluar tidak dipicu meskipun kondisi penskalaan keluar terpenuhi. Aktivitas penskalaan keluar dilakukan setelah waktu cooldown berakhir dan kondisi penskalaan keluar terpenuhi lagi.
Klik Save.
Anda dapat mengaktifkan penskalaan otomatis sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang cara mengaktifkan penskalaan otomatis, lihat Aktifkan atau nonaktifkan penskalaan otomatis (hanya untuk cluster Hadoop).
Deskripsi metrik penskalaan otomatis EMR yang cocok dengan metrik beban YARN
Metrik penskalaan otomatis EMR | Layanan | Deskripsi |
YARN.AvailableVCores | YARN | Jumlah vCPU yang tersedia. |
YARN.PendingVCores | YARN | Jumlah vCPU yang akan dialokasikan. |
YARN.AllocatedVCores | YARN | Jumlah vCPU yang telah dialokasikan. |
YARN.ReservedVCores | YARN | Jumlah vCPU yang dicadangkan. |
YARN.AvailableMemory | YARN | Jumlah memori yang tersedia. Unit: MB. |
YARN.PendingMemory | YARN | Jumlah memori yang akan dialokasikan. Unit: MB. |
YARN.AllocatedMemory | YARN | Jumlah memori yang telah dialokasikan. Unit: MB. |
YARN.ReservedMemory | YARN | Jumlah memori yang dicadangkan. Unit: MB. |
YARN.AppsRunning | YARN | Jumlah tugas yang sedang berjalan. |
YARN.AppsPending | YARN | Jumlah tugas yang tertunda. |
YARN.AppsKilled | YARN | Jumlah tugas yang dihentikan. |
YARN.AppsFailed | YARN | Jumlah tugas yang gagal. |
YARN.AppsCompleted | YARN | Jumlah tugas yang selesai. |
YARN.AppsSubmitted | YARN | Jumlah tugas yang dikirimkan. |
YARN.AllocatedContainers | YARN | Jumlah kontainer yang telah dialokasikan. |
YARN.PendingContainers | YARN | Jumlah kontainer yang akan dialokasikan. |
YARN.ReservedContainers | YARN | Jumlah kontainer yang dicadangkan. |
YARN.MemoryAvailablePrecentage | YARN | Persentase memori yang tersisa terhadap total memori, yang dihitung menggunakan rumus berikut: |
YARN.ContainerPendingRatio | YARN | Rasio kontainer yang akan dialokasikan terhadap kontainer yang telah dialokasikan, yang dihitung menggunakan rumus berikut: |