All Products
Search
Document Center

E-MapReduce:Sesuaikan ukuran memori JVM untuk NameNode dan DataNode HDFS

Last Updated:Mar 26, 2026

Seiring bertambahnya jumlah file dalam kluster Hadoop Distributed File System (HDFS), ukuran heap Java Virtual Machine (JVM) pada NameNode dan DataNode juga perlu ditingkatkan. Tanpa heap yang mencukupi, operasi penulisan baru akan gagal. Topik ini menjelaskan cara menghitung ukuran heap yang diperlukan dan menerapkan konfigurasinya melalui Konsol E-MapReduce (EMR).

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Mengakses Konsol EMR dengan izin untuk mengubah konfigurasi layanan kluster.

  • Mengetahui jumlah file dan jumlah blok data saat ini dari antarmuka pengguna web (UI) HDFS—lihat Akses UI web komponen open source untuk petunjuk membuka UI web HDFS.

Sesuaikan ukuran heap NameNode

Hitung ukuran heap yang direkomendasikan

Gunakan rumus berikut:

Ukuran memori yang direkomendasikan = (Jumlah file dalam jutaan + Jumlah blok data dalam jutaan) × 512 MB

Contoh: Sebuah kluster memiliki 10 juta file. Semua file berukuran kecil hingga menengah (masing-masing muat dalam satu blok), sehingga jumlah blok juga sama dengan 10 juta. Ukuran heap yang direkomendasikan: (10 + 10) × 512 MB = 10.240 MB.

Tabel berikut menunjukkan ukuran heap yang direkomendasikan untuk jumlah file umum, dengan asumsi sebagian besar file muat dalam satu blok.

Jumlah fileUkuran memori yang direkomendasikan (MB)
10.000.00010.240
20.000.00020.480
50.000.00051.200
100.000.000102.400

Terapkan konfigurasi

Prosedurnya berbeda tergantung apakah kluster Anda menggunakan high availability (HA).

Kluster HA

  1. Masuk ke Konsol EMR.

  2. Temukan kluster target dan klik Services di kolom Actions.

  3. Pada tab Services, temukan layanan HDFS dan klik Configure.

  4. Pada tab Configure, cari hadoop_namenode_heapsize.

  5. Tetapkan nilai berdasarkan perhitungan Anda.

  6. Mulai ulang NameNode agar perubahan diterapkan.

Kluster non-HA

  1. Masuk ke Konsol EMR.

  2. Temukan kluster target dan klik Services di kolom Actions.

  3. Pada tab Services, temukan layanan HDFS dan klik Configure.

  4. Pada tab Configure, cari hadoop_namenode_heapsize dan hadoop_secondary_namenode_heapsize.

  5. Tetapkan nilai berdasarkan perhitungan Anda.

  6. Mulai ulang NameNode atau Secondary NameNode agar perubahan diterapkan.

Sesuaikan ukuran heap DataNode

Hitung ukuran heap yang direkomendasikan

Kebutuhan heap pada setiap DataNode bergantung pada jumlah replika blok yang disimpan oleh node tersebut, bukan pada jumlah total file. Gunakan rumus berikut:

Jumlah replika per DataNode = Jumlah blok data × 3 / Jumlah DataNode
Ukuran memori yang direkomendasikan = Jumlah replika per DataNode dalam jutaan × 2.048 MB

Nilai yang direkomendasikan telah memperhitungkan overhead kernel JVM dan memori pekerjaan saat jam puncak, sehingga dapat digunakan langsung dalam kondisi normal.

Contoh: Sebuah kluster menggunakan penyimpanan triplicate, berjalan pada instans Elastic Compute Service (ECS) dari keluarga instans data besar, dan memiliki 6 node inti. Dengan 10 juta file dan 10 juta blok data (semuanya berukuran kecil hingga menengah):

  • Replika per DataNode: 10.000.000 × 3 / 6 = 5.000.000

  • Ukuran heap yang direkomendasikan: 5 × 2.048 MB = 10.240 MB

Tabel berikut menunjukkan ukuran heap yang direkomendasikan berdasarkan jumlah replika per DataNode, dengan asumsi sebagian besar file muat dalam satu blok.

Jumlah replika per DataNodeUkuran memori yang direkomendasikan (MB)
1.000.0002.048
2.000.0004.096
5.000.00010.240

Terapkan konfigurasi

  1. Masuk ke Konsol EMR.

  2. Temukan kluster target dan klik Services di kolom Actions.

  3. Pada tab Services, temukan layanan HDFS dan klik Configure.

  4. Pada tab Configure, cari hadoop_datanode_heapsize di bagian Configuration Filter.

  5. Tetapkan nilai berdasarkan perhitungan Anda.

  6. Mulai ulang DataNode agar perubahan diterapkan.