Por que meu cluster do Amazon EMR falha ao iniciar e retorna o erro “a ação de bootstrap retornou um código de retorno diferente de zero”?

2 minuto de leitura
0

Criei uma ação de bootstrap personalizada para meu cluster do Amazon EMR. O cluster falha ao iniciar e a ação de bootstrap retorna um erro semelhante ao seguinte: “a ação de bootstrap 1 retornou um código de retorno diferente de zero”.

Descrição breve

Ações de bootstrap são executadas após o Amazon EMR provisionar as instâncias do Amazon Elastic Compute Cloud (Amazon EC2) no cluster. Quando uma ação de bootstrap falha, o Amazon EMR encerra a instância. Para mais informações, consulte Compreender o ciclo de vida do cluster.

Se uma ação de bootstrap falhar devido a um erro no script de bootstrap, o cluster não poderá ser iniciado. Para mais informações, consulte Noções básicas sobre ações de bootstrap.

Resolução

Para determinar por que uma ação de bootstrap falhou, revise os logs de stderr para sua ação de bootstrap. Esses logs estão localizados no caminho do Amazon Simple Storage Service (Amazon S3) ou LogUri que você configurou anteriormente quando criou o cluster do Amazon EMR.

Exemplo: s3://example-log-location/example-cluster-id/node/example-instance-id/bootstrap-actions/

Se você não conseguir determinar por que o script falhou depois de revisar os logs de stderr, modifique seu script para fornecer informações adicionais de depuração. Por exemplo, defina os parâmetros -ex no script de bash. Isso permite que você visualize o fluxo do script de bash nos arquivos de log de ações do bootstrap.

#!/bin/bash
set -x -e

Observação: se a ação de bootstrap com falha não for uma ação de bootstrap que você criou (por exemplo, se você criou seis ações de bootstrap e vir a mensagem de erro “a ação de bootstrap 7 falhou com código de saída diferente de zero”), essa mensagem de erro indica que o Amazon EMR não conseguiu instalar aplicações ou iniciar serviços.

Para solucionar esse problema, verifique os logs de provisionamento do Amazon EMR. O Amazon EMR usa o Puppet para instalar e configurar aplicações em um cluster. Os logs podem fornecer informações sobre erros causados durante o provisionamento do cluster.

Você pode acessar esses logs no cluster ou no S3 se tiver configurado os logs para serem enviados para o S3. Os logs são armazenados em /var/log/provision-node/apps-phase/0/example-UUID}/puppet.log no disco e em s3://example-log-location/example-cluster-id/node/example-instance-id/provision-node/apps-phase/0/{UUID}/puppet.log.gz.


Informações relacionadas

Usar ações de bootstrap personalizadas

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos