All Products
Search
Document Center

E-MapReduce:Konfigurasi resource YARN

Last Updated:May 10, 2026

Mulai dari EMR 3.49.0 dan 5.15.0, EMR secara dinamis menetapkan nilai memori default untuk komponen YARN saat pembuatan kluster berdasarkan tipe instans yang dipilih dan layanan yang diterapkan. Anda dapat menyesuaikan nilai-nilai tersebut di Konsol EMR setelah kluster dibuat.

Catatan

Jika komponen YARN menerima memori lebih sedikit dari yang diharapkan setelah inisialisasi kluster, periksa dua hal berikut:

  • Jumlah layanan yang diterapkan di kluster. EMR mendistribusikan memori yang tersedia ke seluruh layanan yang diterapkan, sehingga semakin banyak layanan, semakin sedikit memori per komponen.

  • Apakah spesifikasi instans Elastic Compute Service (ECS) di kelompok node memenuhi kebutuhan memori semua layanan yang diterapkan.

Ukuran heap memory untuk komponen YARN

Pada tab Configure di halaman layanan YARN di Konsol EMR, atur parameter berikut di yarn-env.sh atau mapred-env.sh. Semua parameter berlaku di tingkat kluster dan memerlukan restart komponen agar diterapkan.

Component

Parameter

Config file

When to adjust

Constraints

ResourceManager

YARN_RESOURCEMANAGER_HEAPSIZE

yarn-env.sh

Volume tinggi pekerjaan kecil menyebabkan ResourceManager menjadi lambat

Nilai minimum: 1024. Restart ResourceManager untuk menerapkan.

NodeManager

YARN_NODEMANAGER_HEAPSIZE

yarn-env.sh

Pengumpulan sampah (GC) penuh terjadi karena Shuffle Service menggunakan memori NodeManager secara berlebihan

Restart NodeManager untuk menerapkan.

WebAppProxyServer

YARN_PROXYSERVER_HEAPSIZE

yarn-env.sh

Nilai default tidak mencukupi

Restart WebAppProxyServer untuk menerapkan.

TimelineServer

YARN_TIMELINESERVER_HEAPSIZE

yarn-env.sh

Nilai default tidak mencukupi

Restart TimelineServer untuk menerapkan.

TimelineServer

-XX:MaxDirectMemorySize dalam YARN_TIMELINESERVER_OPTS

yarn-env.sh

Tekanan memori langsung (direct memory pressure) pada TimelineServer

Nilai minimum: 512m. Restart TimelineServer untuk menerapkan.

MRHistoryServer

HADOOP_JOB_HISTORYSERVER_HEAPSIZE

mapred-env.sh

Nilai default tidak mencukupi

Restart MRHistoryServer untuk menerapkan.

Konfigurasi resource kluster untuk YARN

Pada tab Configure di halaman layanan YARN di Konsol EMR, atur parameter yarn-site.xml berikut.

Batas alokasi penjadwal

Parameter ini berlaku di tingkat kluster dan mengontrol batas atas serta batas bawah resource per container. Perubahan memerlukan restart ResourceManager.

Parameter

Description

Default

When to adjust

yarn.scheduler.maximum-allocation-mb

Memori maksimum yang dapat diminta oleh satu container dari penjadwal

Tingkatkan untuk workload yang mengirimkan pekerjaan single-container besar. Nilai yang terlalu tinggi dapat menyebabkan fragmentasi resource.

yarn.scheduler.minimum-allocation-mb

Memori minimum yang dapat diminta oleh satu container dari penjadwal

Jarang perlu disesuaikan.

yarn.scheduler.maximum-allocation-vcores

vCPU maksimum yang dapat diminta oleh satu container dari penjadwal

32

Tingkatkan untuk workload yang mengirimkan pekerjaan single-container besar. Nilai yang terlalu tinggi dapat menyebabkan fragmentasi resource.

yarn.scheduler.minimum-allocation-vcores

vCPU minimum yang dapat diminta oleh satu container dari penjadwal

1

Jarang perlu disesuaikan.

Batas resource NodeManager

Parameter ini berlaku di tingkat kelompok node. Saat mengonfigurasinya, pilih Node group level configuration di Konsol EMR—jika tidak, perubahan tidak akan berlaku. EMR mendukung tipe instans campuran di berbagai kelompok node, dengan semua instans ECS dalam satu kelompok node memiliki tipe instans yang sama. Mengonfigurasi resource NodeManager di tingkat kelompok node mencegah node yang lebih kecil kelebihan beban dan node yang lebih besar tidak dimanfaatkan secara optimal.

Parameter

Description

Default

When to adjust

yarn.nodemanager.resource.memory-mb

Total memori fisik yang tersedia untuk NodeManager guna menjalankan container

Ditetapkan saat pembuatan kluster berdasarkan tipe instans

Konfigurasikan berdasarkan penerapan kluster Anda. Restart NodeManager untuk menerapkan.

yarn.nodemanager.resource.cpu-vcores

Total vCPU yang tersedia untuk NodeManager guna menjalankan container

Jumlah vCPU untuk tipe instans tersebut. Untuk tipe instans berkapasitas memori tinggi, nilai default adalah dua kali jumlah vCPU tipe instans berkapasitas memori reguler.

Sesuaikan berdasarkan karakteristik workload. Restart NodeManager untuk menerapkan.

Hubungan antara memori penjadwal dan NodeManager

yarn.scheduler.maximum-allocation-mb harus lebih besar daripada yarn.nodemanager.resource.memory-mb agar pekerjaan dijadwalkan dengan benar.

Perhatikan hal-hal berikut saat mengelola kedua parameter ini:

  • EMR memungkinkan Anda mengonfigurasi kedua parameter saat membuat kluster atau saat melakukan scaling out dengan menambahkan kelompok node untuk pertama kalinya.

  • Saat Anda meningkatkan spesifikasi instans kelompok node atau mengubah secara manual yarn.nodemanager.resource.memory-mb, yarn.scheduler.maximum-allocation-mb tidak diperbarui secara otomatis. Perbarui secara manual sesuai kebutuhan.

  • Pertama kali Anda mengonfigurasi yarn.scheduler.maximum-allocation-mb untuk kelompok node baru, ResourceManager tidak secara otomatis direstart. Restart ResourceManager secara manual agar perubahan diterapkan.

Catatan

Restart ResourceManager dapat menyebabkan pekerjaan yang sedang berjalan gagal. Lakukan restart tersebut pada jam sepi.