Todos os produtos
Search
Central de documentação

E-MapReduce:Ajuste de memória da JVM

Última atualização: Jun 27, 2026

À medida que o número de arquivos no cluster do Hadoop Distributed File System (HDFS) aumenta, a memória heap da Java Virtual Machine (JVM) no NameNode e nos DataNodes também deve aumentar. Sem heap suficiente, novas gravações falham. Este tópico explica como calcular o tamanho de heap necessário e aplicar a configuração no console do E-MapReduce (EMR).

Pré-requisitos

Antes de começar, verifique se você tem:

  • Acesso ao console do EMR com permissão para modifique configurações de serviços do cluster

  • As contagens atuais de arquivos e blocos de dados na interface web do HDFS — consulte Acessar as UIs web de componentes open source para obter instruções sobre como abrir a interface web do HDFS

Ajustar o tamanho do heap do NameNode

Calcular o tamanho recomendado de heap

Use a seguinte fórmula:

Recommended memory size = (Number of files in millions + Number of data blocks in millions) × 512 MB

Exemplo: Um cluster tem 10 milhões de arquivos. Todos são de pequeno a médio porte (cada um cabe em um único bloco), logo, a contagem de blocos também é de 10 milhões. Tamanho de heap recomendado: (10 + 10) × 512 MB = 10.240 MB.

A tabela a seguir mostra os tamanhos de heap recomendados para quantidades comuns de arquivos, considerando que a maioria caiba em um único bloco.

Número de arquivos

Tamanho de memória recomendado (MB)

10.000.000

10.240

20.000.000

20.480

50.000.000

51.200

100.000.000

102.400

Aplicar a configuração

O procedimento varia conforme o cluster use ou não alta disponibilidade (HA).

Cluster HA

  1. Faça login no console do EMR.

  2. Localize o cluster desejado e clique em Services na coluna Actions.

  3. Na aba Services, localize o serviço HDFS e clique em Configure.

  4. Na aba Configure, pesquise hadoop_namenode_heapsize.

  5. Defina o valor conforme o cálculo realizado.

  6. Reinicie o NameNode para aplicar a alteração.

Cluster não HA

  1. Faça login no console do EMR.

  2. Localize o cluster desejado e clique em Services na coluna Actions.

  3. Na aba Services, localize o serviço HDFS e clique em Configure.

  4. Na aba Configure, pesquise hadoop_namenode_heapsize e hadoop_secondary_namenode_heapsize.

  5. Defina os valores conforme o cálculo realizado.

  6. Reinicie o NameNode ou o Secondary NameNode para aplicar a alteração.

Ajustar o tamanho do heap do DataNode

Calcular o tamanho recomendado de heap

A demanda de heap em cada DataNode depende da quantidade de réplicas de blocos armazenadas nesse nó, e não do total de arquivos. Use as seguintes fórmulas:

Number of replicas per DataNode = Number of data blocks × 3 / Number of DataNodes
Recommended memory size = Number of replicas per DataNode in millions × 2,048 MB

O valor recomendado já considera a sobrecarga do kernel da JVM e a memória necessária para jobs em horários de pico; portanto, use-o diretamente em condições normais.

Exemplo: Um cluster usa armazenamento triplicado, roda em instâncias do Elastic Compute Service (ecs) da família de big data e tem 6 nós principais. Com 10 milhões de arquivos e 10 milhões de blocos de dados (todos de pequeno a médio porte):

  • Réplicas por DataNode: 10.000.000 × 3 / 6 = 5.000.000

  • Tamanho de heap recomendado: 5 × 2.048 MB = 10.240 MB

A tabela abaixo indica os tamanhos de heap recomendados com base no número de réplicas por DataNode, considerando que a maioria dos arquivos caiba em um único bloco.

Número de réplicas por DataNode

Tamanho de memória recomendado (MB)

1.000.000

2.048

2.000.000

4.096

5.000.000

10.240

Aplicar a configuração

  1. Faça login no console do EMR.

  2. Localize o cluster desejado e clique em Services na coluna Actions.

  3. Na aba Services, localize o serviço HDFS e clique em Configure.

  4. Na aba Configure, pesquise hadoop_datanode_heapsize na seção Configuration Filter.

  5. Defina o valor conforme o cálculo realizado.

  6. Reinicie os DataNodes para aplicar a alteração.