全部产品
Search
文档中心

E-MapReduce:Pengaturan memori JVM

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menyesuaikan ukuran memori Java Virtual Machine (JVM) untuk NameNode dan DataNodes guna meningkatkan stabilitas layanan Hadoop Distributed File System (HDFS).

Menyesuaikan ukuran memori JVM untuk NameNode

  • Informasi Latar Belakang: Dalam HDFS, NameNode mencatat metadata setiap file. Metadata tersebut membutuhkan ruang memori tertentu. Konfigurasi memori JVM default dapat memenuhi kebutuhan umum HDFS. Namun, jika jumlah file yang ditulis ke HDFS terus bertambah hingga melebihi konfigurasi memori JVM default, file-file baru tidak dapat disimpan. Dalam hal ini, Anda perlu menyesuaikan ukuran memori.

  • Saran: Sesuaikan ukuran memori JVM untuk NameNode dengan langkah-langkah berikut:

    • Kluster High Availability (HA)

      Masuk ke konsol E-MapReduce (EMR). Temukan kluster yang ingin Anda modifikasi layanan HDFS-nya, lalu klik Services di kolom Actions. Pada tab Services, temukan layanan HDFS dan klik Configure. Di tab Configure halaman layanan HDFS, cari parameter hadoop_namenode_heapsize, lalu ubah nilainya sesuai dengan kebutuhan bisnis Anda.

    • Kluster Non-HA

      Masuk ke konsol EMR. Temukan kluster tempat Anda ingin memodifikasi layanan HDFS dan klik Services di kolom Actions. Pada tab Services, temukan layanan HDFS dan klik Configure. Di halaman layanan HDFS, cari parameter hadoop_namenode_heapsize dan hadoop_secondary_namenode_heapsize, lalu ubah nilainya sesuai kebutuhan bisnis Anda.

      Catatan

      Setelah konfigurasi selesai, restart NameNode atau Secondary NameNode agar perubahan diterapkan.

    Anda dapat melihat jumlah file dan blok data pada antarmuka pengguna web (UI) HDFS. Untuk informasi lebih lanjut, lihat Mengakses UI Web Komponen Open Source. Gunakan rumus berikut untuk menghitung ukuran memori JVM untuk NameNode:

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

    Sebagai contoh, jika Anda memiliki 10 juta file, semuanya berukuran kecil hingga sedang, dan ukuran setiap file tidak melebihi ukuran sebuah blok, jumlah blok juga menjadi 10 juta. Dalam kasus ini, ukuran memori yang direkomendasikan adalah 10.240 MB, dihitung menggunakan rumus berikut: (10 + 10) × 512 MB.

    Tabel berikut menjelaskan pemetaan antara jumlah file dan ukuran memori yang direkomendasikan. Sebagian besar file memiliki ukuran yang tidak melebihi ukuran sebuah blok.

    Jumlah file

    Ukuran memori yang direkomendasikan (MB)

    10.000.000

    10.240

    20.000.000

    20.480

    50.000.000

    51.200

    100.000.000

    102.400

Menyesuaikan ukuran memori JVM untuk setiap DataNode

  • Informasi Latar Belakang: Dalam HDFS, DataNodes mencatat metadata blok data. Metadata tersebut membutuhkan ruang memori tertentu. Konfigurasi memori JVM default dapat memenuhi kebutuhan umum HDFS. Namun, jika jumlah file yang ditulis ke HDFS terus bertambah hingga melebihi konfigurasi memori default, file-file baru tidak dapat disimpan. Dalam hal ini, Anda perlu menyesuaikan ukuran memori.
  • Saran: Buka tab Configure pada halaman layanan HDFS di konsol EMR. Cari parameter hadoop_datanode_heapsize di bagian Configuration Filter dan ubah nilainya sesuai kebutuhan bisnis Anda.
    Gunakan rumus berikut untuk menghitung ukuran memori JVM untuk setiap DataNode:
    Jumlah replika per DataNode dalam kluster EMR = Jumlah blok data × 3/Jumlah DataNodes
    Ukuran memori yang direkomendasikan = Jumlah replika per DataNode, diukur dalam jutaan × 2048 MB
    Catatan Setelah konfigurasi selesai, restart DataNodes untuk menerapkan perubahan.

    Sebagai contoh, HDFS dalam kluster EMR menyediakan penyimpanan tripel, instance Elastic Compute Service (ECS) yang digunakan termasuk dalam keluarga instans data besar, dan jumlah node inti adalah 6. Jika Anda memiliki 10 juta file dan jumlah blok data juga 10 juta karena semua file berukuran kecil hingga sedang, jumlah replika per DataNode adalah 5.000.000, dihitung menggunakan rumus berikut: (10.000.000 × 3/6). Ukuran memori yang direkomendasikan adalah 10.240 MB, dihitung menggunakan rumus berikut: 5 × 2048 MB.

    Tabel berikut menjelaskan pemetaan antara jumlah replika per DataNode dan ukuran memori yang direkomendasikan. Sebagian besar file memiliki ukuran yang tidak melebihi ukuran sebuah blok.
    Jumlah replika per DataNodeUkuran memori yang direkomendasikan (MB)
    1.000.0002048
    2.000.0004096
    5.000.00010240
    Catatan Nilai yang direkomendasikan mencakup ruang memori untuk kernel JVM dan ruang memori untuk menjalankan pekerjaan selama jam sibuk. Anda dapat langsung menggunakan nilai yang direkomendasikan dalam kondisi normal.