Como posso resolver erros “Status de saída: -100. Diagnóstico: Erros de contêiner lançado em um nó *perdido*” no Amazon EMR?

4 minuto de leitura
0

Meu trabalho do Amazon EMR falha com uma mensagem de erro semelhante à seguinte: ExecutorLostFailure (o executor 12 foi encerrado devido a uma das tarefas em execução) Motivo: Contêiner marcado como com falha: container_1572839353552_0008_01_000002 on host: ip-xx-xxx-xx-xx Status de saída: -100. Diagnóstico: Contêiner lançado em um nó perdido

Descrição breve

Esse erro geralmente ocorre durante uma das seguintes situações:

  • Um nó central ou de tarefa é encerrado devido à alta utilização do espaço em disco.
  • Um nó deixa de responder devido à alta utilização prolongada da CPU ou à baixa disponibilidade de memória.

Este artigo se concentra em problemas de espaço em disco.

Quando o uso do disco em um disco do nó central ou de tarefa (por exemplo, /mnt ou /mnt1) excede 90%, o disco é considerado não íntegro. Se menos de 25% dos discos de um nó estiverem íntegros, o YARN ResourceManager descomissionará normalmente o nó. Para resolver esse problema, adicione mais capacidade do Amazon Elastic Block Store (Amazon EBS) ao cluster do EMR. Você pode fazer isso ao iniciar um novo cluster ou ao modificar um cluster em execução.

Resolução

Determinar a causa raiz

Para determinar a causa do erro, verifique as seguintes métricas do Amazon CloudWatch metrics para o cluster do EMR:

  • Nós não íntegros do MR: Se essa métrica mostrar um nó com problemas de integridade, significa que o problema é causado pela falta de espaço em disco.
  • Nós perdidos do MR: Se essa métrica mostrar um nó perdido, isso indica que um nó foi perdido devido a uma falha de hardware ou que o nó não pôde ser acessado devido à alta utilização da CPU ou da memória.

Use uma das opções a seguir para resolver erros de nós perdidos causados pela falta de espaço em disco.

Novos clusters: Adicionar mais capacidade de EBS

Para adicionar mais capacidade do EBS ao iniciar um cluster do EMR, escolha um tipo de instância maior do Amazon Elastic Compute Cloud (Amazon EC2). Instâncias maiores do EC2 incluem mais capacidade de armazenamento do EBS. Para mais informações, consulte Armazenamento do EBS padrão para instâncias. (Você também pode modificar o tamanho do volume ou adicionar mais volumes ao criar o cluster, independentemente do tipo de instância escolhido.)

Clusters novos ou em execução: Adicionar mais nós centrais ou de tarefas

Clusters em execução: Adicionar mais volumes do EBS

Faça o seguinte para anexar mais volumes do EBS a um cluster em execução:

1.    Se volumes maiores do EBS não resolverem o problema, conecte mais volumes do EBS aos nós centrais e de tarefas.

2.    Formate e monte os volumes anexados. Certifique-se de usar o número de disco correto (por exemplo, /mnt1 ou /mnt2 em vez de /data).

3.    Conecte-se ao nó usando SSH.

4.    Adicione o caminho /mnt1/yarn dentro da propriedade yarn.nodemanager.local-dirs de /etc/hadoop/conf/yarn-site.xml. Exemplo:

<property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/mnt/yarn,/mnt1/yarn</value>
</property>

5.    Reinicie o serviço NodeManager:

sudo stop hadoop-yarn-nodemanager
sudo start hadoop-yarn-nodemanager

6.    Habilite a proteção contra encerramento.

Se você ainda tiver problemas de espaço em disco, tente o seguinte:

  • Remova arquivos desnecessários.
  • Aumente o limite de utilização do disco de 90% para 99%. Para fazer isso, modifique a propriedade yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage em yarn-default.xml em todos os nós. Em seguida, reinicie o serviço hadoop-yarn-nodemanager.

Informações relacionadas

O cluster termina com NO_SLAVE_LEFT e os nós centrais FAILED_BY_MASTER

Por que o nó central de um cluster do Amazon EMR está ficando sem espaço em disco?

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos