Todos os produtos
Search
Central de documentação

E-MapReduce:Configurações de recursos do YARN

Última atualização: Jun 27, 2026

A partir das versões 3.49.0 e 5.15.0 do EMR, o serviço define dinamicamente os valores padrão de memória para componentes do YARN durante a criação do cluster, com base nos tipos de instância selecionados e nos serviços implantados. Após criar o cluster, ajuste esses valores no console do EMR.

Nota

Se os componentes do YARN receberem menos memória que o esperado após a inicialização do cluster, verifique dois pontos:

  • Quantidade de serviços implantados no cluster. O EMR distribui a memória disponível entre todos os serviços ativos; portanto, quanto mais serviços, menor a memória destinada a cada componente.

  • Especificações das instâncias do Elastic Compute Service (ECS) no grupo de nós. Verifique se atendem aos requisitos de memória de todos os serviços implantados.

Tamanho da memória heap para componentes do YARN

Na aba Configure da página de serviço do YARN no console do EMR, defina os parâmetros abaixo em yarn-env.sh ou mapred-env.sh. Todos os parâmetros têm efeito no nível do cluster e exigem reinicialização do componente para aplicação.

Componente

Parâmetro

Arquivo de configuração

Quando ajustar

Restrições

ResourceManager

YARN_RESOURCEMANAGER_HEAPSIZE

yarn-env.sh

Alto volume de jobs pequenos causa lentidão no ResourceManager

Valor mínimo: 1024. Reinicie o ResourceManager para aplicar.

NodeManager

YARN_NODEMANAGER_HEAPSIZE

yarn-env.sh

Coleta de lixo completa (GC) ocorre porque o Shuffle Service ocupa memória excessiva do NodeManager

Reinicie o NodeManager para aplicar.

WebAppProxyServer

YARN_PROXYSERVER_HEAPSIZE

yarn-env.sh

Valor padrão insuficiente

Reinicie o WebAppProxyServer para aplicar.

TimelineServer

YARN_TIMELINESERVER_HEAPSIZE

yarn-env.sh

Valor padrão insuficiente

Reinicie o TimelineServer para aplicar.

TimelineServer

-XX:MaxDirectMemorySize em YARN_TIMELINESERVER_OPTS

yarn-env.sh

Pressão de memória direta no TimelineServer

Valor mínimo: 512m. Reinicie o TimelineServer para aplicar.

MRHistoryServer

HADOOP_JOB_HISTORYSERVER_HEAPSIZE

mapred-env.sh

Valor padrão insuficiente

Reinicie o MRHistoryServer para aplicar.

Configuração de recursos do cluster para o YARN

Na aba Configure da página de serviço do YARN no console do EMR, configure os seguintes parâmetros de yarn-site.xml.

Limites de alocação do agendador

Estes parâmetros aplicam-se no nível do cluster e controlam os limites máximo e mínimo de recursos por contêiner. As alterações exigem reinicialização do ResourceManager.

Parâmetro

Descrição

Padrão

Quando ajustar

yarn.scheduler.maximum-allocation-mb

Memória máxima que um único contêiner pode solicitar ao agendador

—

Aumente para cargas de trabalho que enviam jobs grandes em contêineres únicos. Valores excessivamente altos podem causar fragmentação de recursos.

yarn.scheduler.minimum-allocation-mb

Memória mínima que um único contêiner pode solicitar ao agendador

—

Raramente requer ajuste.

yarn.scheduler.maximum-allocation-vcores

Número máximo de vCPUs que um único contêiner pode solicitar ao agendador

32

Aumente para cargas de trabalho que enviam jobs grandes em contêineres únicos. Valores excessivamente altos podem causar fragmentação de recursos.

yarn.scheduler.minimum-allocation-vcores

Número mínimo de vCPUs que um único contêiner pode solicitar ao agendador

1

Raramente requer ajuste.

Limites de recursos do NodeManager

Estes parâmetros aplicam-se no nível do grupo de nós. Ao configurá-los, selecione Node group level configuration no console do EMR; caso contrário, a alteração não terá efeito. O EMR suporta tipos de instância mistos entre grupos de nós, mas todas as instâncias ECS dentro de um mesmo grupo compartilham o mesmo tipo. Configurar os recursos do NodeManager no nível do grupo de nós evita sobrecarga em nós menores e subutilização em nós maiores.

Parâmetro

Descrição

Padrão

Quando ajustar

yarn.nodemanager.resource.memory-mb

Memória física total disponível para o NodeManager alocar aos contêineres

Definido na criação do cluster com base no tipo de instância

Configure conforme a implantação do seu cluster. Reinicie o NodeManager para aplicar.

yarn.nodemanager.resource.cpu-vcores

Total de vCPUs disponíveis para o NodeManager alocar aos contêineres

Número de vCPUs do tipo de instância. Para tipos de instância com alta memória, o padrão é o dobro da contagem de vCPUs de um tipo de instância com memória regular.

Ajuste conforme as características da carga de trabalho. Reinicie o NodeManager para aplicar.

Relação entre a memória do agendador e do NodeManager

O valor de yarn.scheduler.maximum-allocation-mb deve ser maior que yarn.nodemanager.resource.memory-mb para garantir o agendamento correto dos jobs.

Observe os pontos abaixo ao gerenciar esses dois parâmetros:

  • O EMR permite configurar ambos os parâmetros durante a criação do cluster ou ao escalar horizontalmente adicionando um grupo de nós pela primeira vez.

  • Ao atualizar as especificações da instância de um grupo de nós ou alterar manualmente o yarn.nodemanager.resource.memory-mb, o parâmetro yarn.scheduler.maximum-allocation-mb não é atualizado automaticamente. Atualize-o manualmente conforme necessário.

  • Ao configurar o yarn.scheduler.maximum-allocation-mb pela primeira vez para um novo grupo de nós, o ResourceManager não é reiniciado automaticamente. Reinicie manualmente o ResourceManager para aplicar a alteração.

Nota

Reiniciar o ResourceManager pode causar falhas em jobs em execução. Execute a reinicialização fora dos horários de pico.