Memahami strategi alokasi simpul dan skenario - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memahami strategi alokasi simpul dan skenario

Bagian ini memberikan ikhtisar strategi alokasi node dan skenario penskalaan umum yang dapat Anda gunakan dengan penskalaan terkelola Amazon EMR.

Strategi alokasi simpul

Penskalaan terkelola Amazon EMR mengalokasikan node inti dan tugas berdasarkan strategi scale-up dan scale-down berikut:

Strategi penskalaan

  • Penskalaan terkelola Amazon EMR pertama-tama menambahkan kapasitas ke node inti dan kemudian ke node tugas hingga kapasitas maksimum yang diizinkan tercapai atau hingga kapasitas target peningkatan skala yang diinginkan tercapai.

  • Saat Amazon EMR mengalami penundaan peningkatan skala dengan grup instans saat ini, klaster yang menggunakan penskalaan terkelola secara otomatis beralih ke grup instans tugas yang berbeda.

  • Jika parameter MaximumCoreCapacityUnits diatur, maka Amazon EMR menskalakan simpul inti sampai unit inti mencapai batas maksimum yang diizinkan. Semua kapasitas yang tersisa ditambahkan ke simpul tugas.

  • Jika parameter MaximumOnDemandCapacityUnits diatur, maka Amazon EMR menskalakan klaster dengan menggunakan instans Sesuai Permintaan sampai unit Sesuai Permintaan mencapai batas maksimum yang diizinkan. Semua kapasitas yang tersisa ditambahkan menggunakan Instans Spot.

  • Jika kedua parameter MaximumCoreCapacityUnits dan MaximumOnDemandCapacityUnits diatur, Amazon EMR mempertimbangkan kedua batas selama penskalaan.

    Misalnya, jika kurang dariMaximumOnDemandCapacityUnits, Amazon EMR pertama-tama menskalakan node inti hingga batas kapasitas inti tercapai. MaximumCoreCapacityUnits Untuk kapasitas yang tersisa, Amazon EMR pertama-tama menggunakan Instans Sesuai Permintaan untuk menskalakan node tugas hingga batas On-Demand tercapai, dan kemudian menggunakan Instans Spot untuk node tugas.

Strategi penskalaan

  • Amazon EMR versi 5.34.0 dan yang lebih tinggi, dan Amazon EMR versi 6.4.0 dan lebih tinggi, mendukung penskalaan terkelola yang mengetahui data shuffle Spark (data yang didistribusikan ulang Spark di seluruh partisi untuk melakukan operasi tertentu). Untuk informasi selengkapnya tentang operasi shuffle, lihat Panduan Pemrograman Spark. Penskalaan penskalaan terkelola hanya instance yang kurang dimanfaatkan dan yang tidak berisi data shuffle yang digunakan secara aktif. Penskalaan cerdas ini mencegah hilangnya data shuffle yang tidak diinginkan, menghindari kebutuhan untuk upaya ulang pekerjaan dan perhitungan ulang data perantara.

  • Penskalaan terkelola Amazon EMR pertama-tama menghapus node tugas dan kemudian menghapus node inti hingga kapasitas target penurunan skala yang diinginkan tercapai. Klaster tidak pernah menskalakan di bawah batas minimum dalam kebijakan penskalaan terkelola.

  • Dalam setiap jenis node (baik node inti atau node tugas), penskalaan terkelola Amazon EMR menghapus Instans Spot terlebih dahulu dan kemudian menghapus Instans Sesuai Permintaan.

  • Untuk cluster yang diluncurkan dengan Amazon EMR 5.x merilis 5.34.0 dan lebih tinggi, dan 6.x merilis 6.4.0 dan lebih tinggi, penskalaan yang dikelola Amazon EMR tidak mengurangi node yang memiliki Apache Spark yang berjalan di atasnya. ApplicationMaster Ini meminimalkan kegagalan pekerjaan dan percobaan ulang, yang membantu meningkatkan kinerja pekerjaan dan mengurangi biaya. Untuk mengonfirmasi node mana di cluster Anda yang sedang berjalanApplicationMaster, kunjungi Spark History Server dan filter driver di bawah tab Executors ID aplikasi Spark Anda.

Jika klaster tidak memiliki beban apapun, maka Amazon EMR membatalkan penambahan instans baru dari evaluasi sebelumnya dan melakukan operasi menurunkan skala. Jika klaster memiliki beban berat, Amazon EMR membatalkan penghapusan instans dan melakukan operasi menaikkan skala.

Pertimbangan alokasi simpul

Kami merekomendasikan Anda menggunakan opsi pembelian Sesuai Permintaan untuk simpul inti untuk menghindari kehilangan data HDFS dalam kasus reklamasi Spot. Anda dapat menggunakan opsi pembelian Spot untuk simpul tugas untuk mengurangi biaya dan mendapatkan eksekusi pekerjaan yang lebih cepat ketika lebih banyak Instans Spot ditambahkan ke simpul tugas.

Skenario alokasi simpul

Anda dapat membuat berbagai skenario penskalaan berdasarkan kebutuhan Anda dengan mengatur parameter maksimum, minimum, batas Sesuai Permintaan, dan maksimum simpul inti dalam kombinasi yang berbeda.

Skenario 1: Saja Skala Node Inti

Untuk menskalakan simpul inti saja, parameter penskalaan terkelola harus memenuhi persyaratan berikut:

  • Batas Sesuai Permintaan sama dengan batas maksimum.

  • Simpul inti maksimum sama dengan batas maksimum.

Ketika batas Sesuai Permintaan dan parameter simpul inti maksimum tidak ditentukan, kedua parameter default ke batas maksimum.

Contoh berikut menunjukkan skenario penskalaan simpul inti saja.

Status awal klaster Parameter penskalaan Perilaku penskalaan

Grup instans

Inti: 1 Sesuai Permintaan

Tugas: 1 Sesuai Permintaan dan 1 Spot

UnitType: Instans

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 20

MaximumCoreCapacityUnits: 20

Menskalakan antara 1 hingga 20 Instans atau unit armada instans pada simpul inti menggunakan jenis Sesuai Permintaan. Tidak ada penskalaan pada simpul tugas.

Armada contoh

Inti: 1 Sesuai Permintaan

Tugas: 1 Sesuai Permintaan dan 1 Spot

UnitType: InstanceFleetUnits

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 20

MaximumCoreCapacityUnits: 20

Skenario 2: Skalakan node tugas saja

Untuk menskalakan simpul tugas saja, parameter penskalaan terkelola harus memenuhi persyaratan berikut:

  • Simpul inti maksimum harus sama dengan batas minimum.

Contoh berikut menunjukkan skenario penskalaan simpul tugas saja.

Status awal klaster Parameter penskalaan Perilaku penskalaan

Grup instans

Inti: 2 Sesuai Permintaan

Tugas: 1 Spot

UnitType: Instans

MinimumCapacityUnits: 2

MaximumCapacityUnits: 20

MaximumCoreCapacityUnits: 2

Jaga agar simpul inti tetap stabil pada 2 dan hanya menskalakan simpul tugas antara 0 hingga 18 instans atau unit armada instans. Kapasitas antara batas minimum dan maksimum ditambahkan ke simpul tugas saja.

Armada contoh

Inti: 2 Sesuai Permintaan

Tugas: 1 Spot

UnitType: InstanceFleetUnits

MinimumCapacityUnits: 2

MaximumCapacityUnits: 20

MaximumCoreCapacityUnits: 2

Skenario 3: Hanya Instans Sesuai Permintaan di klaster

Untuk memiliki Instans Sesuai Permintaan saja, klaster Anda dan parameter penskalaan terkelola harus memenuhi persyaratan berikut:

  • Batas Sesuai Permintaan sama dengan batas maksimum.

    Ketika batas Sesuai Permintaan tidak ditentukan, nilai parameter default ke batas maksimum. Nilai default menunjukkan bahwa Amazon EMR menskalakan Instans Sesuai Permintaan saja.

Jika simpul inti maksimum kurang dari batas maksimum, parameter simpul inti maksimum dapat digunakan untuk membagi alokasi kapasitas antara simpul inti dan tugas.

Untuk mengaktifkan skenario ini dalam sebuah klaster yang terdiri dari grup instans, semua kelompok simpul dalam klaster harus menggunakan tipe pasar Sesuai Permintaan selama konfigurasi awal.

Contoh berikut menunjukkan skenario dari memiliki Instans Sesuai Permintaan di seluruh klaster.

Status awal klaster Parameter penskalaan Perilaku penskalaan

Grup instans

Inti: 1 Sesuai Permintaan

Tugas: 1 Sesuai Permintaan

UnitType: Instans

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 20

MaximumCoreCapacityUnits: 12

Menskalakan antara 1 hingga 12 Instans atau unit armada instans pada simpul inti menggunakan tipe Sesuai Permintaan. Menskalakan kapasitas yang tersisa menggunakan Sesuai Permintaan pada simpul tugas. Tidak ada penskalaan menggunakan Instans Spot.

Armada contoh

Inti: 1 Sesuai Permintaan

Tugas: 1 Sesuai Permintaan

UnitType: InstanceFleetUnits

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 20

MaximumCoreCapacityUnits: 12

Skenario 4: Hanya Instance Spot di cluster

Untuk memiliki Instans Spot saja, klaster Anda dan parameter penskalaan terkelola harus memenuhi persyaratan berikut:

  • Batas Sesuai Permintaan diatur ke 0.

Jika simpul inti maksimum kurang dari batas maksimum, parameter simpul inti maksimum dapat digunakan untuk membagi alokasi kapasitas antara simpul inti dan tugas.

Untuk mengaktifkan skenario ini dalam sebuah klaster yang terdiri dari grup instans, grup instans inti harus menggunakan opsi pembelian Spot selama konfigurasi awal. Jika tidak ada Instans Spot di grup instance tugas, penskalaan terkelola Amazon EMR akan membuat grup tugas menggunakan Instans Spot bila diperlukan.

Contoh berikut menunjukkan skenario dari memiliki Instans Spot di seluruh klaster.

Status awal klaster Parameter penskalaan Perilaku penskalaan

Grup instans

Inti: 1 Spot

Tugas: 1 Spot

UnitType: Instans

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 0

Menskalakan antara 1 hingga 20 Instans atau unit armada instans pada simpul inti menggunakan Spot. Tidak ada penskalaan menggunakan tipe Sesuai Permintaan.

Armada contoh

Inti: 1 Spot

Tugas: 1 Spot

UnitType: InstanceFleetUnits

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 0

Skenario 5: Skala Instans Sesuai Permintaan pada node inti dan Instans Spot pada node tugas

Untuk menskalakan Instans Sesuai Permintaan pada simpul inti dan Instans Spot pada simpul tugas, parameter penskalaan terkelola harus memenuhi persyaratan berikut:

  • Batas Sesuai Permintaan harus sama dengan simpul inti maksimum.

  • Batas Sesuai Permintaan dan simpul inti maksimum harus kurang dari batas maksimum.

Untuk mengaktifkan skenario ini dalam sebuah klaster yang terdiri dari grup instans, grup simpul inti harus menggunakan opsi pembelian Sesuai Permintaan.

Contoh berikut menunjukkan skenario penskalaan Instans Sesuai Permintaan pada simpul inti dan Instans Spot pada simpul tugas.

Status awal klaster Parameter penskalaan Perilaku penskalaan

Grup instans

Inti: 1 Sesuai Permintaan

Tugas: 1 Sesuai Permintaan dan 1 Spot

UnitType: Instans

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 7

MaximumCoreCapacityUnits: 7

Menaikkan skala hingga 6 unit Sesuai Permintaan pada simpul inti karena sudah ada 1 unit Sesuai Permintaan pada simpul tugas dan batas maksimum untuk Sesuai Permintaan adalah 7. Kemudian naikkan skala hingga 13 unit Spot pada simpul tugas.

Armada contoh

Inti: 1 Sesuai Permintaan

Tugas: 1 Sesuai Permintaan dan 1 Spot

UnitType: InstanceFleetUnits

MinimumCapacityUnits: 1

MaximumCapacityUnits: 20

MaximumOnDemandCapacityUnits: 7

MaximumCoreCapacityUnits: 7