全部产品
Search
文档中心

E-MapReduce:Konfigurasi sumber daya YARN

更新时间:Nov 10, 2025

Pada EMR versi 3.49.0 dan 5.15.0 serta versi yang lebih baru, EMR secara dinamis menyesuaikan pengaturan memori default untuk komponen selama pembuatan kluster berdasarkan tipe instans dan layanan yang dipilih. Perilaku ini menggantikan konfigurasi default statis yang digunakan pada versi sebelumnya. Topik ini menjelaskan cara mengonfigurasi ukuran memori heap untuk komponen YARN dan menggunakan konfigurasi sumber daya YARN.

Catatan
  • Setelah kluster EMR diinisialisasi, jika memori yang dialokasikan ke komponen YARN terlalu kecil, periksa apakah terlalu banyak layanan diterapkan di kluster tersebut. EMR mengalokasikan sumber daya berdasarkan layanan yang diterapkan. Jika Anda menerapkan banyak layanan, alokasi memori untuk komponen YARN mungkin berkurang. Selain itu, pastikan spesifikasi instans Elastic Compute Service (ECS) dalam kelompok node mencukupi untuk memenuhi kebutuhan memori layanan yang diterapkan di kluster EMR.

  • Anda dapat menyesuaikan pengaturan parameter komponen YARN di konsol EMR setelah kluster EMR dibuat.

Konfigurasi Ukuran Memori Heap untuk Komponen YARN

Pada tab Configure halaman layanan YARN di konsol EMR, konfigurasikan parameter-parameter berikut. Tabel berikut menjelaskan parameter-parameter tersebut.

Nama Komponen

File Konfigurasi

Parameter

Ruang Lingkup Efektif

Catatan

ResourceManager

yarn-env.sh

YARN_RESOURCEMANAGER_HEAPSIZE

Tingkat Kluster

Nilai minimum adalah 1024. Jika terdapat banyak pekerjaan kecil, Anda dapat meningkatkan ukuran memori heap. Jika Anda meningkatkan ukuran memori heap, Anda harus me-restart komponen ResourceManager agar perubahan berlaku.

NodeManager

yarn-env.sh

YARN_NODEMANAGER_HEAPSIZE

Tingkat Kluster

Jika full garbage collection (GC) terjadi karena komponen Shuffle Service menggunakan banyak memori dari komponen NodeManager, Anda dapat meningkatkan ukuran memori heap. Jika Anda meningkatkan ukuran memori heap, Anda harus me-restart komponen NodeManager agar perubahan diterapkan.

WebAppProxyServer

yarn-env.sh

YARN_PROXYSERVER_HEAPSIZE

Tingkat Kluster

Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen WebAppProxyServer agar perubahan diterapkan.

TimelineServer

yarn-env.sh

YARN_TIMELINESERVER_HEAPSIZE

Tingkat Kluster

Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen TimelineServer agar perubahan diterapkan.

TimelineServer

yarn-env.sh

-XX:MaxDirectMemorySize dalam YARN_TIMELINESERVER_OPTS

Tingkat Kluster

Ukuran maksimum memori langsung untuk TimelineServer. Nilai minimum parameter ini adalah 512m. Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen TimelineServer agar perubahan diterapkan.

MRHistoryServer

mapred-env.sh

HADOOP_JOB_HISTORYSERVER_HEAPSIZE

Tingkat Kluster

Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen MRHistoryServer agar perubahan diterapkan.

Konfigurasi Sumber Daya Kluster untuk YARN

Pada tab Configure halaman layanan YARN di konsol EMR, konfigurasikan parameter-parameter berikut. Tabel berikut menjelaskan parameter-parameter tersebut.

Parameter

Deskripsi

File Konfigurasi

Ruang Lingkup Efektif

Catatan

yarn.scheduler.maximum-allocation-mb

Memori maksimum yang dapat diminta oleh satu kontainer dalam penjadwal.

yarn-site.xml

Tingkat Kluster

Jika kluster perlu mengirimkan pekerjaan besar dalam satu kontainer, Anda dapat meningkatkan nilai parameter ini. Namun, nilai yang terlalu besar dapat menyebabkan fragmentasi sumber daya. Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen ResourceManager agar perubahan diterapkan.

yarn.scheduler.minimum-allocation-mb

Memori minimum yang dapat diminta oleh satu kontainer dalam penjadwal.

yarn-site.xml

Tingkat Kluster

Dalam kebanyakan kasus, Anda tidak perlu menyesuaikan nilai parameter ini. Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen ResourceManager agar perubahan diterapkan.

yarn.scheduler.maximum-allocation-vcores

Jumlah maksimum vCPU yang dapat diminta oleh satu kontainer dalam penjadwal.

yarn-site.xml

Tingkat Kluster

Nilai default adalah 32. Jika kluster perlu mengirimkan pekerjaan besar dalam satu kontainer, Anda dapat meningkatkan nilai parameter ini. Namun, nilai yang terlalu besar dapat menyebabkan fragmentasi sumber daya. Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen ResourceManager agar perubahan diterapkan.

yarn.scheduler.minimum-allocation-vcores

Jumlah minimum vCPU yang dapat diminta oleh satu kontainer dalam penjadwal.

yarn-site.xml

Tingkat Kluster

Nilai default adalah 1. Dalam kebanyakan kasus, Anda tidak perlu menyesuaikan nilai parameter ini. Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen ResourceManager agar perubahan diterapkan.

yarn.nodemanager.resource.memory-mb

Sumber daya memori yang dapat digunakan oleh komponen NodeManager.

yarn-site.xml

Tingkat Kelompok Node

Anda dapat mengonfigurasi parameter ini berdasarkan penyebaran kluster Anda. Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen NodeManager agar perubahan diterapkan.

Penting

Saat Anda mengonfigurasi parameter ini, Anda harus memilih grup node.

yarn.nodemanager.resource.cpu-vcores

Jumlah vCPU yang tersedia yang dapat digunakan oleh komponen NodeManager.

yarn-site.xml

Tingkat Kelompok Node

Nilai default adalah jumlah vCPU dari tipe instance yang digunakan oleh grup node. Jika grup node menggunakan tipe instance dengan spesifikasi memori tinggi, grup node menggunakan dua kali jumlah vCPU dari tipe instance dengan spesifikasi memori reguler. Anda dapat menyesuaikan nilai parameter ini berdasarkan penyebaran kluster Anda. Jika Anda menyesuaikan nilai parameter ini, Anda harus me-restart komponen NodeManager agar perubahan diterapkan.

Penting

Saat Anda mengonfigurasi parameter ini, Anda harus memilih grup node.

Saat memodifikasi parameter yarn.nodemanager.resource.memory-mb dan yarn.nodemanager.resource.cpu-vcores, pilih Node Group-level Configuration agar perubahan berlaku. EMR memungkinkan kluster menjalankan berbagai tipe instans ECS menggunakan kelompok node. Semua instans ECS dalam satu kelompok node memiliki tipe instans yang sama. Dengan mengonfigurasi sumber daya NodeManager pada tingkat kelompok node, Anda memastikan bahwa node dengan tipe instans lebih kecil tidak kelebihan beban dan node dengan tipe instans lebih besar tidak kurang dimanfaatkan selama penjadwalan. Hal ini juga menghindari kebutuhan untuk mengonfigurasi ulang sumber daya NodeManager untuk setiap node ECS secara individual.

EMR memungkinkan Anda mengonfigurasi parameter yarn.scheduler.maximum-allocation-mb dan yarn.nodemanager.resource.memory-mb saat membuat kluster atau saat melakukan penskalaan kluster dengan menambahkan kelompok node untuk pertama kalinya. Nilai parameter yarn.scheduler.maximum-allocation-mb harus lebih besar daripada nilai parameter yarn.nodemanager.resource.memory-mb agar pekerjaan dapat dijadwalkan sesuai harapan.

  • Saat meningkatkan spesifikasi kelompok node atau mengubah nilai parameter yarn.nodemanager.resource.memory-mb, nilai parameter yarn.scheduler.maximum-allocation-mb tidak berubah secara otomatis. Anda dapat menyesuaikan nilai parameter yarn.scheduler.maximum-allocation-mb secara manual sesuai kebutuhan.

  • Untuk mencegah dampak pada pekerjaan Anda, saat pertama kali mengonfigurasi parameter yarn.scheduler.maximum-allocation-mb untuk grup node baru, komponen ResourceManager tidak otomatis direstart. Agar konfigurasi diterapkan, Anda harus secara manual me-restart komponen ResourceManager.

    Catatan

    Restart komponen ResourceManager dapat menyebabkan kegagalan pekerjaan. Kami merekomendasikan Anda me-restart komponen tersebut selama jam-jam sepi.