Por que meu cluster do EMR não está escalando, mesmo que eu tenha ativado a escalabilidade gerenciada ou que as métricas de redimensionamento tenham sido atendidas?

4 minuto de leitura
0

Eu ativei a escalabilidade gerenciada ou as métricas de redimensionamento foram atendidas no meu cluster do Amazon EMR, mas o cluster não está escalando.

Resolução

A seguir estão os motivos comuns pelos quais o cluster do EMR pode não escalar, mesmo que a escalabilidade gerenciada esteja ativada ou as métricas de redimensionamento tenham sido atendidas:

Os limites definidos nas métricas de escalabilidade do Amazon CloudWatch não foram atingidos

A escalabilidade automática depende das métricas do CloudWatch. Se os limites de métricas correspondentes não forem atingidos para aumentar ou diminuir a escala, a escalabilidade não acontecerá.

Verifique as métricas do Amazon EMR no Amazon CloudWatch para verificar se as métricas definidas em suas regras de escalabilidade estão sendo preenchidas. Por exemplo, verifique se ContainerPendInGratio, yarnMemoryAvailablePercentage e assim por diante estão preenchidos conforme definido em suas regras de escalabilidade.

Os motivos comuns pelos quais as métricas do Amazon EMR não estão sendo preenchidas conforme o esperado no CloudWatch são os seguintes:

  • O arquivo /etc/hadoop/conf/hadoop-metrics2.properties não existe ou está corrompido. Por exemplo, o arquivo pode ter sido sobrescrito por uma ação de inicialização personalizada.
  • Pode haver problemas com componentes relacionados a métricas, como Hadoop, YARN e outros. Revise os logs da aplicação correspondente para verificar se há erros.
  • Para escalabilidade gerenciada, verifique se o daemon do MetricsCollector está em execução executando o comando sudo systemctl status MetricsCollector no nó primário.

Você está usando aplicações que não são baseadas em Yarn

Aplicações como Presto, que não são baseadas no YARN, usam métodos de escalabilidade com base nas métricas geradas pelo YARN. Portanto, os clusters não serão escalados, mesmo que a utilização da consulta do Presto seja alta. Se você estiver usando aplicações que não são baseadas em Yarn, use a escalabilidade manual. Por exemplo, você pode definir a API de redimensionamento do Amazon EMR para usar métricas personalizadas do Presto.

Os grupos de instâncias ou de tarefas principais estão em um estado suspenso ou interrompido

Grupos de instâncias ou de tarefas principais em um estado suspenso ou interrompido ficam presos ao redimensionar ou escalar. Para obter as etapas de solução de problemas, consulte Estado suspenso.

As reconfigurações fazem com que os grupos de instâncias fiquem em um estado interrompido. Para obter mais informações, consulte Solução de problemas de reconfiguração de grupos de instâncias.

Há problemas em aplicações HDFS no EMR que causam problemas ao escalar os nós centrais

É uma prática recomendada manter os nós centrais fixos nos seguintes casos:

  • Você armazena dados em buckets do Amazon Simple Storage Service (Amazon S3) e
  • A utilização do HDFS é mínima.

Dimensione somente os nós de tarefas para evitar problemas de HDFS.

A escalabilidade dos nós centrais leva mais tempo do que a escalabilidade dos nós de tarefas. Isso ocorre porque os nós centrais têm um serviço adicional (Datanode) usado para armazenar os dados do HDFS. A desativação dos dados do HDFS leva tempo. Se seu caso de uso exigir escalabilidade de nós centrais e a escalabilidade estiver travada, talvez haja um problema com o descomissionamento do HDFS. Confira os itens a seguir para solucionar problemas de escalabilidade travada devido ao descomissionamento do HDFS:

  • Confira a integridade dos serviços HDFS (Namenode e Datanode).
  • Confira se há algum bloco ausente, corrompido ou sub-replicado executando o comando hdfs dfsadmin -report.
  • Confira se há algum nó central que não esteja íntegro devido a problemas de disco, memória ou CPU.
  • Verifique se o fator de replicação do HDFS está definido para um número maior, como 3 ou 2. Se o fator de replicação estiver definido como 3 ou 2 e você tentar reduzir a escala dos nós centrais para 1, a escalabilidade ficará travado. Isso ocorre porque as réplicas mínimas devem ser mantidas.

A capacidade solicitada não está disponível no Amazon EMR

Se a capacidade solicitada do Amazon Elastic Compute Cloud (Amazon EC2) não estiver disponível no Amazon EMR, a escalabilidade falhará após o período de tempo limite. Execute um redimensionamento manual se a escalabilidade ficar paralisada por um longo período e forem recebidos erros de capacidade insuficiente nos eventos do AWS CloudTrail. 2 a 3 horas é considerado um longo período de tempo para que o dimensionamento fique travado.


Informações relacionadas

Use a escalabilidade automática com uma política personalizada para grupos de instâncias

Redimensione manualmente um cluster em execução

Usar escalabilidade gerenciada no Amazon EMR

9 principais dicas de ajuste de performance para PrestoDB no Amazon EMR

AWS OFICIAL
AWS OFICIALAtualizada há 5 meses