All Products
Search
Document Center

E-MapReduce:Konfigurasikan auto scaling (hanya untuk kluster Hadoop)

Last Updated:Jun 22, 2026

Jika beban kerja bisnis Anda berfluktuasi, kami menyarankan agar Anda mengaktifkan auto scaling dan mengonfigurasi aturan penskalaan. Fitur ini memungkinkan E-MapReduce (EMR) menambah atau menghapus node task sebagai respons terhadap fluktuasi beban kerja sehingga pekerjaan dapat diselesaikan secara efisien sekaligus menghemat biaya. Topik ini menjelaskan cara mengonfigurasi auto scaling di Konsol EMR on ECS.

Prasyarat

Kluster Hadoop telah dibuat. Untuk informasi selengkapnya, lihat Buat kluster.

Catatan penggunaan

  • Anda dapat menentukan spesifikasi perangkat keras, atau instance types, untuk node yang akan diskalakan. Instance types hanya dapat dikonfigurasi saat auto scaling dinonaktifkan. Jika perlu mengubah instance types, nonaktifkan auto scaling, ubah spesifikasinya, lalu aktifkan kembali auto scaling.

  • Sistem secara otomatis mencocokkan dan menampilkan daftar instance types yang memenuhi spesifikasi vCPU dan memori yang Anda pilih. Pilih instance types yang diinginkan dari daftar tersebut agar kluster dapat diskalakan sesuai spesifikasi tersebut.

  • Untuk mencegah kegagalan auto scaling akibat stok ECS yang tidak mencukupi, Anda dapat memilih hingga tiga jenis instans ECS.

  • Baik Anda memilih ultra disk maupun standard SSD, ukuran minimum disk data adalah 40 GB.

  • Load-based scaling adalah fitur manajemen dinamis untuk grup auto scaling yang bergantung pada CloudMonitor. Setelah Anda berhasil mengonfigurasi aturan penskalaan, sistem secara otomatis membuat aturan alarm terkait di CloudMonitor. Agar aktivitas auto scaling EMR berfungsi dengan benar, jangan mengubah, menghapus, atau menonaktifkan aturan alarm yang dihasilkan sistem ini.

Prosedur

  1. Buka halaman auto scaling.

    1. Masuk ke Konsol EMR on ECS.

    2. Di bilah navigasi atas, pilih wilayah dan resource group sesuai kebutuhan.

    3. Pada halaman EMR on ECS, klik ID kluster target Anda.

    4. Klik tab Auto Scaling.

  2. Buat grup auto scaling.

    1. Pada tab Configure Scaling, klik Create Auto Scaling Group.

      Catatan

      Anda hanya dapat mengelola dan mengonfigurasi grup auto scaling di halaman Auto Scaling. Anda tidak dapat mengelolanya dari halaman manajemen node.

    2. Pada kotak dialog Add Auto Scaling Group, masukkan Node group name lalu klik OK.

  3. Pada tab Configure Scaling, temukan grup node target lalu klik Configure Rule di kolom Actions.

  4. Pada panel Configure Auto Scaling, konfigurasikan parameter pada bagian Basic Information.

    Parameter

    Deskripsi

    Maximum Number of Instances

    Jumlah maksimum node task dalam grup auto scaling. Grup tidak akan melakukan scale-out melebihi batas ini, meskipun aturan penskalaan dipicu. Nilai maksimumnya adalah 1.000.

    Minimum Number of Instances

    Jumlah minimum node task dalam grup auto scaling. Grup tidak akan melakukan scale-in di bawah jumlah ini.

    Misalnya, jika aturan untuk menambah satu node dipicu saat jumlah saat ini nol, tetapi nilai minimum diatur ke 3, sistem akan menambahkan tiga node untuk memenuhi persyaratan minimum.

    Graceful Shutdown

    Anda dapat mengatur timeout untuk decommission node task yang sedang menjalankan job YARN. Node akan didecommission jika tidak ada job yang sedang berjalan, atau jika job yang sedang berjalan melebihi timeout tersebut. Timeout maksimum adalah 3.600 detik.

    Penting
    • Saat Anda mengaktifkan graceful shutdown, pertama-tama ubah nilai parameter YARN yarn.resourcemanager.nodes.exclude-path menjadi /etc/ecm/hadoop-conf/yarn-exclude.xml.

    • Setelah mengubah timeout, restart YARN ResourceManager selama jam sepi agar perubahan diterapkan.

  5. Pada bagian instance di panel Configure Auto Scaling, pilih mode instance, metode penagihan, dan instance types.

    • Single Billing Method

      Sistem secara otomatis menemukan instance types yang sesuai dengan spesifikasi vCPU dan memori Anda, lalu menampilkannya di bagian Instance Type. Pilih satu atau beberapa instance types agar kluster dapat diskalakan.

      • Pay-as-you-go

        Urutan pemilihan instance types menentukan prioritas penyediaannya. Harga per jam setiap instance, yang mencakup harga instans EMR dan ECS, ditampilkan.

      • Preemptible Instance

        Penting

        Jika job Anda memiliki persyaratan Service Level Agreement (SLA) yang tinggi, gunakan instance type ini dengan hati-hati. Spot instances dapat ditarik kembali karena alasan seperti kegagalan bid, yang dapat mengganggu job Anda.

        Urutan pemilihan instance types menentukan prioritas penyediaannya. Harga pay-as-you-go per jam ditampilkan untuk setiap instance type. Anda juga dapat menetapkan harga maksimum per jam (bid Anda) untuk setiap instance type. Instance hanya akan diluncurkan jika harga pasar saat ini sama dengan atau di bawah bid Anda. Untuk informasi selengkapnya, lihat Apa itu spot instance?.

    • Cost Optimization Mode

      Dalam mode ini, Anda dapat membuat kebijakan kontrol biaya terperinci untuk menyeimbangkan biaya dan stabilitas.

      Parameter

      Deskripsi

      Minimum Pay-As-You-Go Nodes in Auto Scaling Group

      Jumlah minimum instans pay-as-you-go yang diperlukan dalam grup auto scaling. Jika jumlah instans pay-as-you-go saat ini berada di bawah nilai ini, instans baru akan disediakan terlebih dahulu sebagai instans pay-as-you-go.

      Percentage of Pay-As-You-Go Nodes

      Setelah jumlah minimum instans pay-as-you-go terpenuhi, persentase ini menentukan proporsi instans baru yang akan disediakan sebagai pay-as-you-go.

      Lowest-Cost Instance Types

      Jumlah instance types dengan biaya terendah yang akan digunakan. Saat membuat spot instances, sistem mendistribusikannya secara merata di antara jumlah instance types yang ditentukan. Nilai maksimumnya adalah 3.

      Replace Preemptible Instances

      Menentukan apakah mekanisme kompensasi untuk spot instances diaktifkan. Jika diaktifkan, sistem secara proaktif mengganti spot instance sekitar 5 menit sebelum instance tersebut ditarik kembali.

      Jika Anda tidak menentukan parameter Minimum Pay-As-You-Go Nodes in Auto Scaling Group, Percentage of Pay-As-You-Go Nodes, dan Lowest-Cost Instance Types, Anda membuat grup penskalaan cost-optimized standar. Jika tidak, Anda membuat grup penskalaan cost-optimized dengan kebijakan mixed-instance. Kedua jenis ini sepenuhnya kompatibel dalam hal operasi API dan fitur.

      Untuk grup penskalaan cost-optimized dengan kebijakan mixed-instance, Anda dapat mengonfigurasi kebijakan agar mereplikasi perilaku grup cost-optimized standar. Contohnya:

      • Untuk membuat hanya instans pay-as-you-go:

        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.

      • Untuk memprioritaskan pembuatan spot instances:

        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.

  6. Pada bagian Configure Auto Scaling di panel Trigger Mode, pilih mode pemicu dan konfigurasikan aturannya.

    • Time-based Scaling: Jika beban kerja kluster Hadoop Anda memiliki puncak dan lembah yang dapat diprediksi, Anda dapat menjadwalkan aktivitas penskalaan untuk menambah jumlah node task tertentu pada waktu tetap. Hal ini memastikan penyelesaian job sekaligus menghemat biaya.

      Aturan penskalaan mencakup aturan scale-out dan scale-in. Topik ini menggunakan contoh aturan scale-out. Jika Anda menonaktifkan auto scaling untuk kluster, semua aturan akan dihapus. Anda harus mengonfigurasi ulang jika mengaktifkan kembali auto scaling.

      Parameter

      Deskripsi

      Rule Name

      Nama aturan penskalaan, termasuk aturan scale-out dan scale-in, harus unik dalam satu kluster.

      Execution Rule

      • Execute Repeatedly: Anda dapat menjadwalkan aktivitas penskalaan untuk dijalankan pada waktu tertentu setiap hari, minggu, atau bulan.

      • Execute Only Once: Aktivitas penskalaan hanya dijalankan sekali pada waktu yang ditentukan.

      Execution Time

      Waktu eksekusi aturan.

      Rule Expiration Time

      Tanggal dan waktu kedaluwarsa aturan.

      Retry timeout (seconds)

      Aktivitas penskalaan terjadwal mungkin gagal dieksekusi pada waktu yang ditentukan karena berbagai alasan. Jika Anda mengatur retry timeout, sistem akan mencoba ulang aktivitas tersebut setiap 30 detik selama periode ini hingga berhasil. Nilainya berkisar antara 0 hingga 21.600 detik.

      Misalnya, asumsikan aktivitas penskalaan A dijadwalkan untuk dijalankan, tetapi aktivitas penskalaan B lainnya sedang berlangsung atau berada dalam periode cooldown. Dalam kasus ini, aktivitas A tidak dapat dieksekusi. Sistem akan mencoba ulang aktivitas A setiap 30 detik selama periode retry yang ditentukan. Begitu kondisi terpenuhi, kluster segera melakukan aktivitas penskalaan.

      Number of Adjusted Instances

      Jumlah node task yang ditambahkan setiap kali aturan dipicu.

      Cooldown Time (s)

      Interval setelah aktivitas penskalaan selesai, di mana aktivitas penskalaan lain tidak dapat dipicu.

    • Load-based Scaling: Jika Anda tidak dapat memprediksi secara akurat puncak dan lembah beban kerja data besar Anda, Anda dapat menggunakan kebijakan penskalaan berbasis beban.

      Aturan penskalaan mencakup aturan scale-out dan scale-in. Topik ini menggunakan contoh aturan scale-out. Jika Anda menonaktifkan auto scaling, semua aturan akan dihapus. Anda harus mengonfigurasi ulang jika mengaktifkan kembali auto scaling. Saat Anda mengganti kebijakan penskalaan, misalnya dari load-based ke time-based scaling, aturan kebijakan sebelumnya menjadi tidak aktif dan tidak dipicu. Namun, node yang telah ditambahkan berdasarkan aturan tersebut tetap dipertahankan dan tidak dilepas.

      Parameter

      Deskripsi

      Rule Name

      Nama aturan penskalaan, termasuk aturan scale-out dan scale-in, harus unik dalam satu kluster.

      Cluster Load Metrics

      Metrik diperoleh dari YARN. Untuk informasi selengkapnya, lihat dokumentasi resmi Hadoop.

      Untuk pemetaan antara metrik auto scaling E-MapReduce dan layanan YARN, lihat Pemetaan antara metrik auto scaling E-MapReduce dan layanan YARN.

      Statistical Period

      Sistem memeriksa apakah metrik beban kluster yang dipilih, yang diagregasi menggunakan aturan statistik yang ditentukan (misalnya, Average, Maximum, atau Minimum) selama periode statistik, memenuhi ambang batas. Setiap kali ambang batas terpenuhi dihitung sebagai satu pemicu.

      Statistical Rule

      Condition Repetition Threshold

      Jumlah kali berturut-turut metrik harus memenuhi ambang batas sebelum aktivitas penskalaan dipicu.

      Adjustment value

      Jumlah node task yang ditambahkan setiap kali aturan dipicu.

      Cooldown Time (s)

      Periode setelah aktivitas penskalaan selesai, di mana aktivitas penskalaan lain tidak dapat dipicu. Sistem mengabaikan semua pemicu yang terjadi selama periode ini dan menunggu pemicu valid berikutnya setelah cooldown berakhir.

  7. Klik Save.

    Anda dapat mengaktifkan auto scaling sesuai kebutuhan. Untuk informasi selengkapnya, lihat Aktifkan atau nonaktifkan auto scaling (hanya untuk kluster Hadoop).

Pemetaan metrik auto scaling EMR ke YARN

Metrik auto scaling

Layanan

Deskripsi

YARN.AvailableVCores

YARN

Jumlah virtual core yang tersedia.

YARN.PendingVCores

YARN

Jumlah virtual core yang menunggu alokasi.

YARN.AllocatedVCores

YARN

Jumlah virtual core yang dialokasikan.

YARN.ReservedVCores

YARN

Jumlah virtual core yang dicadangkan.

YARN.AvailableMemory

YARN

Jumlah memori yang tersedia, dalam MB.

YARN.PendingMemory

YARN

Jumlah memori yang menunggu alokasi, dalam MB.

YARN.AllocatedMemory

YARN

Jumlah memori yang dialokasikan, dalam MB.

YARN.ReservedMemory

YARN

Jumlah memori yang dicadangkan, dalam MB.

YARN.AppsRunning

YARN

Jumlah aplikasi yang sedang berjalan.

YARN.AppsPending

YARN

Jumlah aplikasi yang menunggu.

YARN.AppsKilled

YARN

Jumlah aplikasi yang dihentikan paksa.

YARN.AppsFailed

YARN

Jumlah aplikasi yang gagal.

YARN.AppsCompleted

YARN

Jumlah aplikasi yang selesai.

YARN.AppsSubmitted

YARN

Jumlah aplikasi yang dikirim.

YARN.AllocatedContainers

YARN

Jumlah container yang dialokasikan.

YARN.PendingContainers

YARN

Jumlah container yang menunggu alokasi.

YARN.ReservedContainers

YARN

Jumlah container yang dicadangkan.

YARN.MemoryAvailablePercentage

YARN

Persentase memori yang tersedia (MemoryAvailablePercentage = AvailableMemory / TotalMemory).

YARN.ContainerPendingRatio

YARN

Rasio container yang menunggu terhadap container yang dialokasikan (ContainerPendingRatio = PendingContainers / AllocatedContainers).