全部产品
Search
文档中心

E-MapReduce:Mengonfigurasi aturan penskalaan otomatis kustom

更新时间:Nov 10, 2025

Jika beban kerja bisnis Anda berfluktuasi, kami sarankan mengaktifkan penyesuaian skala otomatis untuk kluster E-MapReduce (EMR) dan mengonfigurasi aturan penyesuaian skala otomatis untuk menambah atau mengurangi node tugas sesuai kebutuhan. Penyesuaian skala otomatis membantu mengurangi biaya sekaligus memastikan sumber daya komputasi yang cukup untuk pekerjaan Anda. Topik ini menjelaskan cara mengonfigurasi aturan penyesuaian skala otomatis kustom di konsol EMR.

Prasyarat

  • Kluster DataLake, Dataflow, OLAP, DataServing, atau kluster kustom telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kluster.

  • Grup node tugas yang berisi instans bayar sesuai penggunaan atau instans preemptible telah dibuat dalam kluster. Untuk informasi selengkapnya, lihat Buat grup node.

Batasan

  • Untuk mencegah kegagalan penskalaan otomatis akibat keterbatasan ketersediaan instans Elastic Compute Service (ECS), Anda dapat memilih hingga 10 tipe instans ECS saat menambahkan grup node. Node akan dibuat berdasarkan urutan tipe instans dalam daftar. Secara default, tipe instans yang dipilih pertama kali digunakan terlebih dahulu saat kluster melakukan skala keluar. Jika suatu tipe instans tidak tersedia, sistem akan menggunakan tipe instans berikutnya. Tipe instans yang digunakan untuk membuat node bergantung pada stok yang tersedia.

  • Hanya kluster tempat layanan YARN diterapkan yang mendukung aturan penyesuaian skala berbasis beban.

Peringatan

  • Anda dapat menambahkan aturan penyesuaian skala otomatis ke grup node yang memenuhi persyaratan. Ketika aturan dipicu, grup node secara otomatis diperbesar atau diperkecil berdasarkan konfigurasi. Jika tidak ada aturan yang dikonfigurasi, aktivitas penyesuaian skala otomatis tidak dipicu.

  • Sistem mencari jenis instance yang sesuai dengan spesifikasi yang Anda tentukan dan menampilkannya di bagian Jenis Instance. Anda harus memilih satu atau lebih jenis instance agar kluster dapat disesuaikan berdasarkan pilihan tersebut.

Catatan

Jika beberapa aturan penyesuaian skala dikonfigurasi dan kondisi terpenuhi pada waktu bersamaan, sistem memicu dan mengeksekusi aturan berdasarkan urutan berikut:

  • Aturan perluasan skala memiliki prioritas lebih tinggi daripada aturan pengurangan skala.

  • Aturan penyesuaian skala berbasis waktu dan beban dieksekusi berdasarkan urutan pemicuan.

  • Aturan penyesuaian skala berbasis beban dipicu berdasarkan waktu ketika metrik beban kluster tercapai.

  • Aturan penyesuaian skala berbasis beban dengan metrik beban kluster yang sama dipicu berdasarkan urutan konfigurasi.

Prosedur

Metode 1: Tambahkan aturan penyesuaian skala kustom untuk kluster yang ada

  1. Pergi ke tab Penyesuaian Skala Otomatis.

    1. Masuk ke konsol EMR.

    2. Di bilah navigasi atas, pilih wilayah dan grup sumber daya sesuai kebutuhan bisnis Anda.

    3. Di halaman EMR on ECS, temukan kluster yang diinginkan dan klik nama kluster di kolom ID/Nama Kluster.

    4. Di halaman yang muncul, klik tab Auto Scaling.

  2. Konfigurasikan aturan penyesuaian skala otomatis.

    1. Di tab Configure Auto Scaling pada bagian Configure Auto Scaling Rule, klik Custom Auto Scaling Rule. Di pesan Ubah Aturan Penskalaan Otomatis, klik Reconfigure. Temukan grup node yang diinginkan lalu klik Edit di kolom Actions.

    2. Di panel Configure Auto Scaling, atur parameter berikut:

      • Limits On Node Quantity Of Current Node Group: menentukan rentang jumlah node dalam grup node saat ini. Parameter ini menetapkan batas atas dan bawah jumlah node dalam grup node saat grup tersebut melakukan skala-masuk atau skala keluar secara otomatis berdasarkan aturan penskalaan otomatis. Untuk mengubah jumlah maksimum dan minimum node dalam grup node, klik Modify Limit.

        • Maximum Number Of Instances: menentukan batas atas jumlah node dalam grup node saat ini. Grup node tidak dapat lagi melakukan skala keluar ketika jumlah node mencapai batas atas tersebut.

        • Minimum Number Of Instances: menentukan batas bawah jumlah node dalam grup node saat ini. Grup node tidak dapat lagi melakukan skala-masuk ketika jumlah node mencapai batas bawah tersebut.

      • Trigger Rule: Menampilkan aturan penyesuaian skala yang dikonfigurasikan untuk grup node saat ini. Anda juga dapat menambahkan lebih banyak aturan penyesuaian skala untuk grup node.

        • Penyesuaian skala berbasis waktu

          Jika beban komputasi kluster berfluktuasi secara teratur, Anda dapat menambah atau menghapus jumlah tertentu node tugas pada titik waktu tetap setiap hari, setiap minggu, atau setiap bulan untuk melengkapi atau menghemat sumber daya komputasi. Hal ini memastikan pekerjaan dapat diselesaikan dengan biaya rendah. Aturan penskalaan otomatis dibagi menjadi aturan skala keluar dan aturan skala-masuk.

          Penting

          Untuk mencegah konflik potensial dan memastikan operasi penyesuaian skala berjalan lancar, jangan atur waktu eksekusi aturan perluasan dan pengurangan skala pada titik waktu yang sama.

          Tabel berikut menjelaskan parameter untuk aturan perluasan skala.

          Parameter

          Deskripsi

          Scale Out Type

          Penskalaan terjadwal.

          Rule Name

          Nama aturan perluasan skala. Nama aturan penyesuaian skala harus unik dalam sebuah kluster.

          Frequency

          • Execute Repeatedly: Penyesuaian skala dilakukan pada titik waktu tertentu setiap hari, setiap minggu, atau setiap bulan.

          • Execute Only Once: Auto Scaling dilakukan hanya sekali pada waktu tertentu.

          Execution Time

          Titik waktu spesifik saat aturan perluasan skala dieksekusi.

          Rule Expiration Time

          Waktu kadaluarsa aturan perluasan skala. Setelah aturan perluasan skala kadaluarsa, tidak ada aktivitas perluasan skala yang dipicu. Parameter ini tersedia hanya jika Anda menyetel parameter Frequency ke Execute Repeatedly.

          Retry Time Range

          Interval ulang. Penyesuaian skala mungkin gagal pada waktu yang ditentukan karena berbagai alasan. Jika interval ulang ditentukan, sistem akan mencoba penyesuaian skala setiap 30 detik selama interval ulang yang ditentukan oleh parameter ini sampai penyesuaian skala dilakukan. Nilai valid: 0 hingga 3600. Unit: detik.

          Sebagai contoh, operasi penskalaan otomatis A perlu dilakukan dalam periode waktu tertentu. Jika operasi penskalaan otomatis B masih berlangsung atau sedang dalam masa pendinginan selama periode tersebut, operasi A tidak dapat dilakukan. Dalam kasus ini, sistem akan mencoba melakukan operasi A setiap 30 detik dalam rentang waktu percobaan ulang yang Anda tentukan. Jika kondisi yang diperlukan terpenuhi, kluster segera melakukan penskalaan otomatis.

          Nodes For Each Scale Out

          Jumlah node yang ditambahkan ke grup node setiap kali aturan perluasan skala dipicu.

          Best-effort Delivery

          Kami sarankan Anda menghidupkan saklar ini. Setelah Anda menghidupkan saklar ini, sistem akan mengirimkan semua node yang berhasil dibuat dengan cara terbaik usaha untuk memastikan kelangsungan bisnis Anda.

          Sebagai contoh, Anda mengonfigurasi aturan perluasan skala untuk menambahkan 100 node pada pukul 00:00 setiap hari, dan hanya 90 node yang ditambahkan. Jika Anda tidak menghidupkan saklar Pengiriman Terbaik Usaha, perluasan skala gagal. Jika Anda menghidupkan saklar, 90 node dikirimkan.

        • Penyesuaian skala berbasis beban

          Catatan

          Hanya kluster tempat layanan YARN diterapkan yang mendukung aturan penyesuaian skala berbasis beban.

          Anda dapat menambahkan aturan penyesuaian skala berbasis beban untuk grup node tugas dalam kluster tempat fluktuasi beban komputasi data besar tidak dapat diprediksi dengan akurat. Aturan penyesuaian skala dibagi menjadi aturan perluasan skala dan aturan pengurangan skala. Tabel berikut menjelaskan parameter untuk aturan perluasan skala.

          Parameter

          Deskripsi

          Scale Out Type

          Skala keluar berdasarkan beban.

          Rule Name

          Nama aturan perluasan skala. Nama aturan penyesuaian skala harus unik dalam sebuah kluster.

          Load Metric-based Trigger Conditions

          Kondisi yang harus dipenuhi untuk memicu aturan perluasan skala. Anda harus memilih setidaknya satu metrik beban yang ditentukan sistem. Untuk memilih beberapa metrik beban yang ditentukan sistem, klik Add Metric. Anda harus mengonfigurasi parameter berikut:

          • Metrik beban: Pilih metrik beban YARN yang ditentukan sistem. Untuk informasi tentang pemetaan antara metrik penyesuaian skala EMR dan metrik beban YARN, lihat Deskripsi metrik penyesuaian skala EMR yang cocok dengan metrik beban YARN.

            Catatan

            Metrik beban yang ditentukan sistem bervariasi berdasarkan jenis kluster. Anda dapat melihat metrik beban yang didukung yang ditentukan sistem di konsol EMR.

          • Metode statistik: aturan yang digunakan untuk menentukan ambang batas untuk setiap metrik beban. Aturan perluasan skala dipicu sekali jika nilai dimensi agregasi yang ditentukan (rata-rata, maksimum, atau minimum) untuk setiap metrik beban yang dipilih mencapai ambang batas dalam periode statistik.

          Multi-metric Relationship

          Hubungan di antara metrik yang digunakan untuk memicu aturan perluasan skala. Nilai valid: All Metrics Meet the Conditions dan Any Metric Meets the Condition.

          Statistical Period

          Periode statistik untuk mengukur apakah nilai dimensi agregasi yang ditentukan (rata-rata, maksimum, atau minimum) untuk setiap metrik beban yang dipilih mencapai ambang batas. Data dikumpulkan, dirangkum, dan dibandingkan berdasarkan periode statistik yang ditentukan. Semakin pendek periode statistik, semakin sering aturan perluasan skala kemungkinan akan dipicu. Tentukan periode statistik berdasarkan kebutuhan bisnis Anda.

          Repetitions That Trigger Scale Out

          Berdasarkan metode agregasi, Auto Scaling mencatat setiap kejadian saat nilai metrik beban melebihi ambang batas. Aturan penskalaan yang sesuai hanya dipicu setelah mencapai jumlah kejadian tertentu.

          Nodes For Each Scale Out

          Jumlah node yang ditambahkan ke grup node setiap kali aturan perluasan skala dipicu.

          Best-effort Delivery

          Setelah Anda menghidupkan saklar ini, sistem akan mengirimkan semua node yang berhasil dibuat dengan cara terbaik usaha. Penyesuaian skala berbasis beban dipengaruhi oleh metrik. Anda dapat menentukan apakah akan menghidupkan saklar berdasarkan kebutuhan bisnis Anda.

          Cooldown Time

          Interval antara dua aktivitas perluasan skala. Selama waktu cooldown, aturan perluasan skala tidak dipicu meskipun kondisi perluasan skala terpenuhi. Aktivitas perluasan skala dilakukan setelah waktu cooldown berakhir dan kondisi perluasan skala terpenuhi lagi.

          Setelah grup node diperluas dan mencapai keadaan yang diharapkan, waktu cooldown menjaga metrik beban kluster yang memicu aktivitas perluasan skala berikutnya dalam keadaan stabil.

          Effective Time Period

          Rentang waktu di mana aturan perluasan skala berlaku. Parameter ini opsional. Secara default, aturan perluasan skala tersedia 24 jam sehari. Aktivitas perluasan skala hanya dipicu dalam rentang waktu yang ditentukan oleh parameter ini.

    3. Klik Save And Apply.

      Aktivitas penambahan skala dipicu untuk grup node ketika kondisi penambahan skala terpenuhi.

Metode 2: Tambahkan aturan penyesuaian skala otomatis kustom saat Anda membuat kluster

  1. Masuk ke konsol EMR.

  2. Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan bisnis Anda.

  3. Klik Create Cluster. Untuk informasi lebih lanjut, lihat Buat Kluster.

    Catatan

    Anda harus menambahkan grup node tugas bayar sesuai pemakaian sebelum dapat mengonfigurasi aturan penyesuaian skala otomatis kustom.

  4. Konfigurasikan parameter Cluster Scaling.

    1. Klik Custom Auto Scaling Rule. Temukan grup node yang diinginkan lalu klik Edit di kolom Actions.

    2. Di panel Configure Auto Scaling, konfigurasikan parameter. Untuk informasi selengkapnya, lihat Konfigurasi aturan penskalaan otomatis.

    3. Klik Save And Apply.

  5. Konfirmasi pesanan.

    Setelah kluster dibuat, aktivitas penyesuaian skala dipicu untuk grup node ketika kondisi tertentu terpenuhi.

Metode 3: Gunakan SDK untuk menambahkan aturan penyesuaian skala otomatis kustom

Saat memanggil operasi API tertentu untuk membuat kluster atau membuat grup node tugas, Anda dapat mengonfigurasi aturan penyesuaian skala otomatis kustom untuk grup node tugas agar sistem secara otomatis mengelola node. Untuk informasi lebih lanjut, lihat CreateCluster dan CreateNodeGroup. Anda juga dapat mengonfigurasi aturan penyesuaian skala otomatis kustom untuk grup node tugas yang sudah ada. Untuk informasi lebih lanjut, lihat PutAutoScalingPolicy.

Kode Java berikut menunjukkan cara mengonfigurasi aturan perluasan skala berbasis beban.

Catatan

Kami sarankan menggunakan Token Layanan Keamanan (STS) yang memberikan keamanan lebih tinggi untuk menginisialisasi klien Kredensial. Untuk informasi lebih lanjut, lihat Kelola Kredensial Akses.

// File ini dibuat secara otomatis, jangan mengeditnya. Terima kasih.
package com.aliyun.sample;

import com.aliyun.tea.*;

public class Sample {

    /**
     * deskripsi

Deskripsi metrik penskalaan otomatis EMR yang sesuai dengan metrik beban YARN

Catatan
  • Untuk metrik penskalaan otomatis yang terkait antrian, parameter queue_name menentukan nama antrian. Nilai default adalah root. Anda dapat menentukan antrian kustom.

  • Untuk metrik penskalaan otomatis yang terkait partisi, parameter partition_name menentukan nama partisi. Parameter ini tidak boleh kosong.

Metrik penskalaan otomatis EMR

Layanan

Deskripsi

yarn_resourcemanager_queue_AvailableVCores

YARN

Jumlah core CPU virtual yang tersedia untuk antrian yang ditentukan.

yarn_resourcemanager_queue_PendingVCores

YARN

Jumlah core CPU virtual yang tertunda untuk antrian yang ditentukan.

yarn_resourcemanager_queue_AllocatedVCores

YARN

Jumlah core CPU virtual yang dialokasikan untuk antrian yang ditentukan.

yarn_resourcemanager_queue_ReservedVCores

YARN

Jumlah core CPU virtual yang dicadangkan untuk antrian yang ditentukan.

yarn_resourcemanager_queue_AvailableMB

YARN

Jumlah memori yang tersedia untuk antrian yang ditentukan.

yarn_resourcemanager_queue_PendingMB

YARN

Jumlah memori yang tertunda untuk antrian yang ditentukan.

yarn_resourcemanager_queue_AllocatedMB

YARN

Jumlah memori yang dialokasikan untuk antrian yang ditentukan.

yarn_resourcemanager_queue_ReservedMB

YARN

Jumlah memori yang dicadangkan untuk antrian yang ditentukan.

yarn_resourcemanager_queue_AppsRunning

YARN

Jumlah pekerjaan yang sedang berjalan di antrian yang ditentukan.

yarn_resourcemanager_queue_AppsPending

YARN

Jumlah pekerjaan yang ditangguhkan di antrian yang ditentukan.

yarn_resourcemanager_queue_AppsKilled

YARN

Jumlah pekerjaan yang dihentikan di antrian yang ditentukan.

yarn_resourcemanager_queue_AppsFailed

YARN

Jumlah pekerjaan yang gagal di antrian yang ditentukan.

yarn_resourcemanager_queue_AppsCompleted

YARN

Jumlah pekerjaan yang selesai di antrian yang ditentukan.

yarn_resourcemanager_queue_AppsSubmitted

YARN

Jumlah pekerjaan yang diajukan di antrian yang ditentukan.

yarn_resourcemanager_queue_AllocatedContainers

YARN

Jumlah kontainer yang dialokasikan di antrian yang ditentukan.

yarn_resourcemanager_queue_PendingContainers

YARN

Jumlah kontainer yang tertunda di antrian yang ditentukan.

yarn_resourcemanager_queue_ReservedContainers

YARN

Jumlah kontainer yang dicadangkan di antrian yang ditentukan.

yarn_resourcemanager_queue_AvailableMBPercentage

YARN

Persentase sumber daya memori yang tersedia di antrian yang ditentukan. (MemoryAvailablePercentage= AvailableMemory/Total Memory).

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.43.0, V5.9.0, dan versi minor setelah V3.43.0 atau V5.9.0.

yarn_resourcemanager_queue_PendingContainersRatio

YARN

Rasio kontainer tertunda terhadap kontainer yang dialokasikan di antrian yang ditentukan. (ContainerPendingRatio = PendingContainers/AllocatedContainers).

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.43.0, V5.9.0, dan versi minor setelah V3.43.0 atau V5.9.0.

yarn_resourcemanager_queue_AvailableVCoresPercentage

YARN

Persentase core CPU yang tersedia di antrian yang ditentukan. AvailableVCoresPercentage = AvailableVCores / (ReservedVCores + AvailableVCores + AllocatedVCores) * 100

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.43.0, V5.9.0, dan versi minor setelah V3.43.0 atau V5.9.0.

yarn_cluster_numContainersByPartition

YARN

Jumlah kontainer untuk partisi tertentu. Parameter partition_name menentukan nama partisi.

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.44.0, V5.10.0, dan versi minor setelah V3.44.0 atau V5.10.0.

yarn_cluster_usedMemoryMBByPartition

YARN

Jumlah memori yang digunakan untuk partisi yang ditentukan. Parameter partition_name menentukan nama partisi.

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.44.0, V5.10.0, dan versi minor setelah V3.44.0 atau V5.10.0.

yarn_cluster_availMemoryMBByPartition

YARN

Jumlah memori yang tersedia untuk partisi yang ditentukan. Parameter partition_name menentukan nama partisi.

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.44.0, V5.10.0, dan versi minor setelah V3.44.0 atau V5.10.0.

yarn_cluster_usedVirtualCoresByPartition

YARN

Jumlah core CPU yang digunakan untuk partisi yang ditentukan. Parameter partition_name menentukan nama partisi.

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.44.0, V5.10.0, dan versi minor setelah V3.44.0 atau V5.10.0.

yarn_cluster_availableVirtualCoresByPartition

YARN

Jumlah core CPU yang tersedia untuk partisi yang ditentukan. Parameter partition_name menentukan nama partisi.

Catatan

Metrik ini tersedia untuk kluster EMR versi V3.44.0, V5.10.0, dan versi minor setelah V3.44.0 atau V5.10.0.

FAQ

Mengapa saya gagal melakukan peningkatan skala kluster EMR? Bagaimana cara meningkatkan tingkat keberhasilan peningkatan skala?

Penyebab

  1. Sumber daya ECS tidak mencukupi: Jika jumlah instans ECS dari tipe instans tertentu yang ingin Anda tambahkan melebihi jumlah instans ECS yang tersedia di zona saat ini, skala keluar akan gagal. Hal ini disebabkan sumber daya ECS dasar terus berubah secara dinamis dan mungkin mengalami kekurangan sementara akibat permintaan tinggi.

  2. Pemilihan instans ECS dari satu tipe instans: Jika Anda hanya memilih satu tipe instans ECS dan instans tersebut mengalami kekurangan, proses skala keluar mungkin terhambat.

Solusi

  • Aktifkan sakelar Pengiriman Best-effort saat mengonfigurasi aturan penskalaan otomatis: Setelah Anda mengaktifkan sakelar ini, sistem akan mengirimkan semua node yang berhasil dibuat secara best-effort jika beberapa sumber daya tidak tersedia, alih-alih sepenuhnya membatalkan permintaan skala keluar.

  • Kami menyarankan Anda mengonfigurasi beberapa tipe instans: Untuk meningkatkan tingkat keberhasilan, tentukan beberapa tipe instans ECS saat mengonfigurasi grup node tugas. Untuk informasi selengkapnya, lihat Buat grup node. Dengan demikian, saat kluster Anda melakukan skala keluar, node dibuat berdasarkan urutan tipe instans dalam daftar. Secara default, tipe instans yang dipilih pertama kali digunakan terlebih dahulu. Jika suatu tipe instans tidak tersedia, tipe instans berikutnya akan digunakan. Skala keluar berakhir ketika sistem telah mencoba menambahkan node dari semua tipe instans.

Dengan menerapkan langkah-langkah ini, Anda dapat secara efektif meningkatkan tingkat keberhasilan skalabilitas elastis kluster EMR.