

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Ajuste de escala avançado para o Amazon EMR
<a name="managed-scaling-allocation-strategy-optimized"></a>

Começando com o Amazon EMR no EC2 versão 7.0, é possível utilizar o Ajuste de escala avançado para controlar o uso de recursos do cluster. O Advanced Scaling introduz uma escala de utilização-desempenho para ajustar a utilização dos recursos e o nível de desempenho de acordo com as necessidades da sua empresa. O valor que você define determina se seu cluster é mais voltado para a conservação de recursos ou para a escalabilidade para lidar com cargas de trabalho sensíveis service-level-agreement (SLA), onde a conclusão rápida é essencial. Quando o valor do ajuste de escala é ajustado, o ajuste de escala gerenciado interpreta sua intenção e escala de maneira inteligente para otimizar os recursos. Para obter mais informações sobre o Ajuste de escala gerenciado, consulte [Configurar o Ajuste de escala gerenciado para o Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/managed-scaling-configure.html).

## Configurações avançadas de dimensionamento
<a name="managed-scaling-allocation-strategy-optimized-strategies"></a>

O valor que você definiu para o Ajuste de escala avançado otimiza o cluster de acordo com seus requisitos. Os valores variam de **1** a **100**. Os valores possíveis são **1**, **25**, **50**, **75** e **100**. Se você definir o índice para valores diferentes, isso resultará em um erro de validação. 

Valores de ajuste de escala são mapeados para estratégias de utilização de recursos. A lista a seguir define várias delas:
+ **Utilização otimizada [1]**: essa configuração evita o provisionamento excessivo de recursos. Use um valor baixo quando quiser manter os custos baixos e priorizar a utilização eficiente dos recursos. Isso faz com que o cluster aumente a escala verticalmente de maneira menos agressiva. Isso funciona bem para o caso de uso em que costumam ocorrer picos de workload e você não quer que os recursos aumentem muito rapidamente.
+ **Equilibrada [50]**: equilibra a utilização de recursos e a performance dos trabalhos. Essa configuração é adequada para workloads estáveis em que a maioria dos estágios tem um runtime estável. Também é adequado para workloads com uma combinação de estágios de curta e longa duração. Recomendamos começar com essa configuração se você não tem certeza de qual escolher.
+ **Otimizad para performance [100]**: essa estratégia prioriza a performance. O cluster se expande de maneira agressiva para garantir que os trabalhos sejam concluídos rapidamente e atendam às metas de performance. O desempenho otimizado é adequado para cargas de trabalho sensíveis service-level-agreement (SLA), nas quais o tempo de execução rápido é essencial.

**nota**  
Os valores intermediários disponíveis fornecem um meio termo entre essas estratégias para ajustar o comportamento de Ajuste de escala avançado do cluster.

## Benefícios do escalonamento avançado
<a name="managed-scaling-allocation-strategy-optimized-benefits"></a>

Como há variabilidade no ambiente e nos requisitos, como alterações nos volumes de dados, ajustes nas metas de custos e implementações de SLAs, o ajuste de escala do cluster pode ajudar você a ajustar a configuração do cluster para atingir os seus objetivos. Os benefícios importantes incluem:
+ **Controle granular aprimorado**: a introdução da configuração de performance de utilização permite ajustar facilmente o comportamento de ajuste de escala do cluster de acordo com os seus requisitos. Você pode aumentar a escala verticalmente para atender à demanda por recursos de computação ou reduzir a escala verticalmente para economizar recursos com base em seus padrões de uso.
+ **Otimização de custos aprimorada**: você pode escolher um valor de utilização baixo, conforme os requisitos, para atender com mais facilidade aos seus objetivos de custo.

## Conceitos básicos sobre otimização
<a name="managed-scaling-allocation-strategy-optimized-getting-started"></a>

**Instalação e configuração**

Use estas etapas para definir o índice de performance e otimizar sua estratégia de ajuste de escala.

1. O comando a seguir atualiza um cluster existente com a estratégia de ajuste de escala `[1]` otimizada para utilização:

   ```
   aws emr put-managed-scaling-policy --cluster-id 'cluster-id' \
    --managed-scaling-policy '{
     "ComputeLimits": {
       "UnitType": "Instances",
       "MinimumCapacityUnits": 1,
       "MaximumCapacityUnits": 2,
       "MaximumOnDemandCapacityUnits": 2,
       "MaximumCoreCapacityUnits": 2
     },
     "ScalingStrategy": "ADVANCED",
     "UtilizationPerformanceIndex": "1"
   }' \
    --region "region-name"
   ```

   Os atributos `ScalingStrategy` e `UtilizationPerformanceIndex` são novos e relevantes para a otimização de ajuste de escala. Você pode selecionar diferentes estratégias de ajuste de escala definindo valores correspondentes (1, 25, 50, 75 e 100) para o atributo `UtilizationPerformanceIndex` na política de ajuste de escala gerenciada.

1. Para reverter para a estratégia padrão de ajuste de escala gerenciado, execute o comando `put-managed-scaling-policy` sem incluir os atributos `ScalingStrategy` e `UtilizationPerformanceIndex`. (Isso é opcional.) Este exemplo mostra como fazer isso:

   ```
   aws emr put-managed-scaling-policy \
   --cluster-id 'cluster-id' \
   --managed-scaling-policy '{"ComputeLimits":{"UnitType":"Instances","MinimumCapacityUnits":1,"MaximumCapacityUnits":2,"MaximumOnDemandCapacityUnits":2,"MaximumCoreCapacityUnits":2}}' \
   --region "region-name"
   ```

**Usar métricas de monitoramento para rastrear a utilização do cluster**

A partir da versão 7.3.0 do EMR, o Amazon EMR publica quatro novas métricas relacionadas à memória e à CPU virtual. Você pode usá-las para medir a utilização do cluster em todas as estratégias de ajuste de escala. Essas métricas estão disponíveis para qualquer caso de uso, mas você pode usar os detalhes fornecidos aqui para monitorar o Ajuste de escala avançado.

As métricas úteis disponíveis incluem:
+ **YarnContainersUsedMemoryGBSeconds**— Quantidade de memória consumida por aplicativos gerenciados pelo YARN.
+ **YarnContainersTotalMemoryGBSeconds**— Capacidade total de memória alocada ao YARN dentro do cluster.
+ **YarnNodesUsedVCPUSeconds**— Total de segundos de VCPU para cada aplicativo gerenciado pelo YARN.
+ **YarnNodesTotalVCPUSeconds**— Total agregado de segundos de VCPU para memória consumida, incluindo a janela de tempo em que o fio não está pronto.

Você pode analisar métricas de recursos usando o Amazon CloudWatch Logs Insights. Os recursos incluem uma linguagem de consulta específica que ajuda a extrair métricas específicas para uso e ajuste de escala de recursos.

A consulta a seguir, que você pode executar no Amazon CloudWatch console, usa matemática métrica para calcular a utilização média da memória (e1) dividindo a soma contínua da memória consumida (e2) pela soma da memória total (e3):

```
{
    "metrics": [
        [ { "expression": "e2/e3", "label": "Average Mem Utilization", "id": "e1", "yAxis": "right" } ],
        [ { "expression": "RUNNING_SUM(m1)", "label": "RunningTotal-YarnContainersUsedMemoryGBSeconds", "id": "e2", "visible": false } ],
        [ { "expression": "RUNNING_SUM(m2)", "label": "RunningTotal-YarnContainersTotalMemoryGBSeconds", "id": "e3", "visible": false } ],
        [ "AWS_EMR_ManagedResize", "YarnContainersUsedMemoryGBSeconds", "ACCOUNT_ID", "793684541905", "COMPONENT", "ManagerService", "JOB_FLOW_ID", "cluster-id", { "id": "m1", "label": "YarnContainersUsedMemoryGBSeconds" } ],
        [ ".", "YarnContainersTotalMemoryGBSeconds", ".", ".", ".", ".", ".", ".", { "id": "m2", "label": "YarnContainersTotalMemoryGBSeconds" } ]
    ],
    "view": "timeSeries",
    "stacked": false,
    "region": "region",
    "period": 60,
    "stat": "Sum",
    "title": "Memory Utilization"
}
```

Para consultar registros, você pode selecionar CloudWatch no AWS console. Para obter mais informações sobre como escrever consultas para CloudWatch, consulte [Análise de dados de log com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) no Guia do usuário do Amazon CloudWatch Logs.

A imagem a seguir mostra essas métricas para um cluster de exemplo:

![\[Gráfico mostrando estatísticas de utilização.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/scaling_graph_EMR.png)


## Considerações e limitações
<a name="managed-scaling-allocation-strategy-optimized-considerations"></a>
+ A eficácia das estratégias de ajuste de escala pode variar dependendo das características exclusivas da workload e da configuração do cluster. Recomendamos que você experimente a configuração de ajuste de escala para determinar um valor de índice ideal para o seu caso de uso.
+ O Ajuste de escala automático do Amazon EMR é particularmente adequado para workloads em lotes. Para workloads de SQL/data warehouse e streaming, recomendamos usar a estratégia padrão de ajuste de escala gerenciado para obter performance ideal.
+ O Amazon EMR Advanced Scaling não é suportado quando as configurações de rótulos de nós estão habilitadas no cluster. Se as configurações Advanced Scaling e Node Label estiverem habilitadas juntas em um cluster, o comportamento de escalabilidade seria como se a configuração padrão de escalabilidade gerenciada estivesse ativada.
+ A estratégia de ajuste de escala otimizada para performance permite a execução mais rápida do trabalho, mantendo recursos de alta computação por um período mais longo do que a estratégia padrão de ajuste de escala gerenciado. Esse modo prioriza o aumento rápido da escala vertical para atender a demandas de recursos, resultando na conclusão mais rápida do trabalho. Isso pode resultar em custos mais altos em comparação com a estratégia padrão.
+ Nos casos em que o cluster já está otimizado e totalmente utilizado, habilitar o Ajuste de escala avançado pode não oferecer benefícios adicionais. Em algumas situações, habilitar o Ajuste de escala avançado pode aumentar os custos, pois as workloads podem durar mais. Nesses casos, recomendamos usar a estratégia padrão de ajuste de escala gerenciado para garantir a alocação ideal de recursos e a eficiência dos custos.
+ **No contexto do Ajuste de escala gerenciado, a ênfase muda para a utilização de recursos ao longo do tempo de execução, à medida que a configuração é ajustada de otimizada para performance [**100**] para otimizada para utilização [1**]. Porém, é importante observar que os resultados podem variar com base na natureza da workload e na topologia do cluster. Para garantir resultados ideais para seu caso de uso, é altamente recomendável testar as estratégias de ajuste de escala com suas workloads para determinar a configuração mais adequada.
+ O **PerformanceUtilizationIndex**aceita somente os seguintes valores:
  + **1**
  + **25**
  + **50**
  + **75**
  + **100**

  Quaisquer outros valores enviados resultam em um erro de validação.