Mengkonfigurasi penskalaan otomatis vertikal untuk Amazon di EMR EKS - Amazon EMR

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

Mengkonfigurasi penskalaan otomatis vertikal untuk Amazon di EMR EKS

Anda dapat mengonfigurasi penskalaan otomatis vertikal saat mengirimkan pekerjaan Amazon EMR Spark melalui. StartJobRunAPI Atur parameter konfigurasi terkait penskalaan otomatis pada pod driver Spark seperti yang ditunjukkan pada contoh di. Mengirimkan pekerjaan Spark dengan autoscaling vertikal

Operator Amazon EMR on EKS vertical autoscaling mendengarkan pod driver yang memiliki autoscaling, kemudian menyiapkan integrasi dengan Kubernetes Vertical Pod Autoscaler () dengan pengaturan pada pod driver. VPA Ini memfasilitasi pelacakan sumber daya dan penskalaan otomatis pod pelaksana Spark.

Bagian berikut menjelaskan parameter yang dapat Anda gunakan saat mengonfigurasi penskalaan otomatis vertikal untuk klaster Amazon Anda. EKS

catatan

Konfigurasikan parameter sakelar fitur sebagai label, dan konfigurasikan parameter yang tersisa sebagai anotasi pada pod driver Spark. Parameter penskalaan otomatis milik emr-containers.amazonaws.com/ domain dan memiliki awalan. dynamic.sizing

Parameter yang diperlukan

Anda harus menyertakan dua parameter berikut pada driver pekerjaan Spark saat Anda mengirimkan pekerjaan Anda:

Kunci Deskripsi Nilai yang diterima Nilai default Tipe Parameter percikan 1

dynamic.sizing

Fitur toggle

true, false

tidak diatur

label

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing

dynamic.sizing.signature

Tanda tangan Job

tali

tidak diatur

anotasi

spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.signature

1 Gunakan parameter ini sebagai SparkSubmitParameter atau ConfigurationOverride di StartJobRunAPI.

  • dynamic.sizing— Anda dapat menghidupkan dan mematikan penskalaan otomatis vertikal dengan label. dynamic.sizing Untuk mengaktifkan penskalaan otomatis vertikal, atur dynamic.sizing ke true pada pod driver Spark. Jika Anda menghilangkan label ini atau mengaturnya ke nilai apa pun selaintrue, penskalaan otomatis vertikal tidak aktif.

  • dynamic.sizing.signature— Atur tanda tangan pekerjaan dengan dynamic.sizing.signature anotasi pada pod driver. Penskalaan otomatis vertikal menggabungkan data penggunaan sumber daya Anda di berbagai pekerjaan Amazon EMR Spark untuk mendapatkan rekomendasi sumber daya. Anda memberikan pengenal unik untuk mengikat pekerjaan bersama-sama.

    catatan

    Jika pekerjaan Anda berulang pada interval tetap seperti harian atau mingguan, maka tanda tangan pekerjaan Anda harus tetap sama untuk setiap contoh baru dari pekerjaan tersebut. Ini memastikan bahwa penskalaan otomatis vertikal dapat menghitung dan mengumpulkan rekomendasi di berbagai pekerjaan.

1 Gunakan parameter ini sebagai SparkSubmitParameter atau ConfigurationOverride di StartJobRunAPI.

Parameter opsional

Penskalaan otomatis vertikal juga mendukung parameter opsional berikut. Tetapkan mereka sebagai anotasi pada pod driver.

Kunci Deskripsi Nilai yang diterima Nilai default Tipe Parameter percikan 1

dynamic.sizing.mode

Mode penskalaan otomatis vertikal

Off, Initial, Auto

Off

anotasi

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing.mode

dynamic.sizing.scale.memory

Mengaktifkan penskalaan memori

true, false

true

anotasi

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing.scale.memory

dynamic.sizing.scale.cpu

Aktifkan atau matikan CPU penskalaan

true, false

false

anotasi

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing.scale.cpu

dynamic.sizing.scale.memory.min

Batas minimum untuk penskalaan memori

string, kuantitas sumber daya K8s mis: 1G

tidak diatur

anotasi

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing.scale.memory.min

dynamic.sizing.scale.memory.max

Batas maksimum untuk penskalaan memori

string, kuantitas sumber daya K8s mis: 4G

tidak diatur

anotasi

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing.scale.memory.max

dynamic.sizing.scale.cpu.min

Batas minimum untuk CPU penskalaan

string, kuantitas sumber daya K8s mis: 1

tidak diatur

anotasi

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing.scale.cpu.min

dynamic.sizing.scale.cpu.max

Batas maksimum untuk CPU penskalaan

string, kuantitas sumber daya K8s mis: 2

tidak diatur

anotasi

spark.kubernetes.driver.label.emr-containers.amazonaws.com/dynamic.sizing.scale.cpu.max

Mode penskalaan otomatis vertikal

modeParameter memetakan ke berbagai mode penskalaan otomatis yang didukung. VPA Gunakan dynamic.sizing.mode anotasi pada pod driver untuk mengatur mode. Nilai-nilai berikut didukung untuk parameter ini:

  • Off — Mode dry-run di mana Anda dapat memantau rekomendasi, tetapi penskalaan otomatis tidak dilakukan. Ini adalah mode default untuk penskalaan otomatis vertikal. Dalam mode ini, sumber daya autoscaler pod vertikal terkait menghitung rekomendasi, dan Anda dapat memantau rekomendasi melalui alat seperti kubectl, Prometheus, dan Grafana.

  • Awal — Dalam mode ini, VPA skala otomatis sumber daya ketika pekerjaan dimulai jika rekomendasi tersedia berdasarkan riwayat pekerjaan, seperti dalam kasus pekerjaan berulang.

  • Otomatis — Dalam mode ini, VPA mengusir pod pelaksana Spark, dan menskalakannya secara otomatis dengan pengaturan sumber daya yang disarankan saat pod driver Spark memulai ulang. Terkadang, VPA penggusuran menjalankan pod eksekutor Spark, sehingga dapat menghasilkan latensi tambahan saat mencoba ulang eksekutor yang terputus.

Penskalaan sumber daya

Saat Anda mengatur penskalaan otomatis vertikal, Anda dapat memilih apakah akan menskalakan CPU dan sumber daya memori. Atur dynamic.sizing.scale.cpu dan dynamic.sizing.scale.memory anotasi ke true ataufalse. Secara default, CPU penskalaan diatur kefalse, dan penskalaan memori diatur ke. true

Minimum dan maksimum sumber daya (Batas)

Secara opsional, Anda juga dapat menetapkan batasan pada sumber daya memori CPU dan memori. Pilih nilai minimum dan maksimum untuk sumber daya ini dengan dynamic.sizing.[memory/cpu].[min/max] anotasi saat Anda mengaktifkan penskalaan otomatis. Secara default, sumber daya tidak memiliki batasan. Tetapkan anotasi sebagai nilai string yang mewakili kuantitas sumber daya Kubernetes. Misalnya, atur dynamic.sizing.memory.max 4G untuk mewakili 4 GB.