Todos os produtos
Search
Central de documentação

E-MapReduce:Execute scripts using bootstrap actions

Última atualização: Sep 17, 2026

As bootstrap actions permitem instalar softwares de terceiros necessários ou modificar o ambiente de execução de um cluster. Este tópico explica como adicioná-las e fornece exemplos.

Informações básicas

As bootstrap actions executam automaticamente scripts especificados em nós recém-adicionados durante a criação, expansão ou ativação do Auto Scaling de um cluster. Também é possível selecionar e executar manualmente scripts específicos em lotes nos nós existentes para atender a requisitos personalizados. Para mais informações sobre a execução manual de scripts, consulte Manually execute scripts.

Assim como na execução manual, use as bootstrap actions durante ou após a criação do cluster para realizar operações que o EMR não suporta nativamente, tais como:

  • Instalar softwares disponíveis via Yum.

  • Baixar softwares públicos da internet.

  • Ler dados diretamente do OSS.

  • Instalar e executar componentes, como Flink ou Impala.

Limites

  • É permitido adicionar no máximo 10 bootstrap actions. A execução segue a ordem definida.

  • Por padrão, o EMR executa o script como usuário root. Se necessário, inclua o comando su - hadoop no script para alternar para o usuário hadoop.

Adicionar uma bootstrap action

Há duas formas de adicionar uma bootstrap action.

Durante a criação

  1. Acesse a página de gerenciamento de clusters.

    1. Faça login no console do E-MapReduce.

    2. Na barra de navegação superior, selecione uma região e um grupo de recursos.

  2. Na página EMR on ECS, clique em CREATE_CLUSTER.

  3. Na seção Advanced Settings da etapa Basic Configuration, clique em Add Bootstrap Action na linha Bootstrap Actions.

  4. Configure os seguintes parâmetros.

    Parâmetro

    Descrição

    Operation Name

    Nome da bootstrap action.

    Script Path

    Caminho no OSS onde o script está armazenado.

    O caminho deve seguir o formato oss://**/*.sh.

    Parameter

    Argumentos para o script da bootstrap action. Especifique os valores das variáveis referenciadas no script.

    Execution Time

    • Before Component Installation: O script é executado antes da instalação dos componentes.

    • Before Component Startup: A execução ocorre após a instalação dos componentes, mas antes da inicialização.

    • After Component Startup: O script é executado após a inicialização dos componentes.

      A figura a seguir ilustra a ordem de execução.

    Execution Failure Policy

    • Proceed: Em caso de falha no script, o sistema continua a execução do próximo script. Isso não afeta a criação ou expansão do cluster.

    • Stop: Se houver falha, o sistema interrompe imediatamente a execução do script atual e falha o processo de criação ou expansão do cluster.

    Execution Scope

    Os valores válidos são:

    • Cluster: A bootstrap action aplica-se a todo o cluster.

    • Node Group Type: A ação aplica-se apenas ao tipo de grupo de nós selecionado.

    Para visualizar exemplos de bootstrap actions, consulte Examples.

    Nota

    Se você escolher a política Proceed, uma falha na bootstrap action não afetará o processo de criação do cluster.

    Para mais detalhes sobre como criar um cluster, consulte Create a cluster. Após a criação, acesse a página Script Operation do cluster para verificar possíveis erros. Caso ocorra algum problema, consulte View script execution logs.

Após a criação

  1. Acesse a página Script operation.

    1. Faça login no console do E-MapReduce.

    2. Na barra de navegação superior, selecione uma região e um grupo de recursos.

    3. Clique em Services do cluster desejado.

    4. Clique na aba Script Operation.

  2. Na página Bootstrap Actions, clique em Add Bootstrap Action.

  3. Na caixa de diálogo Add Bootstrap Action, configure os parâmetros.

    image

    Parâmetro

    Descrição

    Name

    Nome da bootstrap action.

    Script Address

    Caminho no OSS onde o script está armazenado.

    O caminho deve seguir o formato oss://**/*.sh.

    Parameter

    Argumentos para o script da bootstrap action. Especifique os valores das variáveis referenciadas no script.

    Execution Scope

    Os valores válidos são:

    • Cluster: Aplica-se a todo o cluster.

    • Node Group Type: Aplica-se apenas ao tipo de grupo de nós selecionado.

    • Node Group: Aplica-se apenas ao grupo de nós selecionado.

    Execution Time

    • Before Component Installation: O script é executado antes da instalação dos componentes.

    • Before Component Startup: A execução ocorre após a instalação dos componentes, mas antes da inicialização.

    • After Component Startup: O script é executado após a inicialização dos componentes.

      A figura a seguir ilustra a ordem de execução.

    Execution Failure Policy

    • Proceed: Em caso de falha no script, o sistema continua a execução do próximo script. Isso não afeta a criação ou expansão do cluster.

    • Stop: Se houver falha, o sistema interrompe imediatamente a execução do script atual e falha o processo de criação ou expansão do cluster.

  4. Clique em OK.

    Consulte Examples para visualizar exemplos de bootstrap actions.

    Você pode realizar as seguintes operações nas bootstrap actions existentes:

    • Editar: Clique em Edit na linha da bootstrap action desejada.

    • Clonar: Clique em Clone na linha da bootstrap action desejada.

    • Excluir: Clique em Delete na linha da bootstrap action desejada.

Logs de execução de scripts

Nota

Recomendamos incluir lógica de log em pontos estratégicos do script. Essa prática facilita a solução de problemas por meio da análise dos logs de execução.

Visualize os logs de execução dos scripts de bootstrap action no histórico de operações seguindo estas etapas:

  1. Acesse a página Cluster Services.

    1. Acesse o console do EMR.

    2. No painel de navegação à esquerda, clique em EMR on ECS.

    3. Na barra de navegação superior, selecione uma região e um grupo de recursos.

    4. Na página EMR on ECS, clique em Services do cluster desejado.

  2. Clique na aba Script operation e, em seguida, clique em View Execution Result ao lado do script que deseja verificar.

  3. No painel Operation History, localize o registro da operação correspondente e visualize seus detalhes.

    • Clusters DataLake, Dataflow, OLAP, DataServing e personalizados: No registro de criação (create) ou expansão (increaseNodeGroup), clique em 展开 para visualizar os detalhes da tarefa. As tarefas que executam bootstrap actions têm o prefixo RUN_BOOTSTRAP_CLUSTER_SCRIPT_<bootstrap action name>_<bootstrap action ID>. É possível visualizar os logs Stdout e Stderr.

    • Clusters Hadoop, Data Science e EMR Studio: Nos registros de criação (CREATE_CLUSTER) ou expansão (RESIZE_CLUSTER), clique em 展开 para visualizar os detalhes da tarefa. Em pollDeployTaskStatusActivity, as tarefas que executam bootstrap actions têm o prefixo RUN_SCRIPT_HOST_**. É possível visualizar os logs Stdout e Stderr.

Exemplos

Ao configurar uma bootstrap action, especifique obrigatoriamente o nome e o local do script no OSS. Também é possível especificar argumentos conforme necessário. Durante a execução, cada nó baixa o script especificado do OSS e o executa diretamente ou com os argumentos opcionais definidos. Veja alguns exemplos:

  • Exemplo 1

    Especifique no script os arquivos a serem baixados do OSS. Por exemplo, o script abaixo baixa o arquivo oss://<yourBucket>/<myFile>.tar.gz e o descompacta no diretório /<yourDir>.

    Importante

    O OSS oferece endpoints internos, públicos e de VPC. Se você usar uma rede clássica, deverá especificar um endpoint interno. Por exemplo, o endpoint interno da região China (Hangzhou) é oss-cn-hangzhou-internal.aliyuncs.com. Se usar uma VPC, especifique um domínio acessível via VPC. Por exemplo, o endpoint de VPC da região China (Hangzhou) é vpc100-oss-cn-hangzhou.aliyuncs.com.

    • Clusters DataLake, Dataflow, OLAP, DataServing e personalizados

      #!/bin/bash
      ossutil64 cp oss://<yourBucket>/<myFile>.tar.gz  ./  -e oss-cn-hangzhou-internal.aliyuncs.com -i <yourAccessKeyId>  -k <yourAccessKeySecret>
      mkdir -p /<yourDir>
      tar -zxvf <myFile>.tar.gz -C /<yourDir>
    • Clusters Legacy DataLake (Hadoop)

      #!/bin/bash
      osscmd --id=<yourAccessKeyId> --key=<yourAccessKeySecret> --host=oss-cn-hangzhou-internal.aliyuncs.com get oss://<yourBucket>/<myFile>.tar.gz ./
      mkdir -p /<yourDir>
      tar -zxvf <myFile>.tar.gz -C /<yourDir>
  • Exemplo 2

    Use o Yum para instalar pacotes adicionais, como ld-linux.so.2.

    #!/bin/bash
    yum install -y ld-linux.so.2

Perguntas frequentes

  • Um script de bootstrap do EMR foi interrompido, mas nenhuma mensagem de erro apareceu nos logs.

    As causas mais comuns de falhas em scripts incluem:

    • Problemas de conectividade de rede. As instâncias ECS e o bucket OSS correspondente devem estar na mesma região. Por exemplo, uma instância ECS na região China (Beijing) não consegue acessar um bucket OSS fora dessa região.

    • Falha ao obter informações da chave de acesso. Esse problema geralmente ocorre porque a função AliyunECSInstanceForEMRRole não está anexada à instância ECS.

    • Uso de nohup sem redirecionamento de saída. Isso pode fazer com que a tarefa demore muito para ser encerrada. O uso correto é nohup ... >*** 2>&1.

    • O script foi editado em ambiente Windows e contém quebras de linha desse sistema, o que causa erros durante a execução em Linux. Verifique se ^M aparece no log de erros do histórico de operações. Se aparecer, reedite o script em ambiente Linux e faça upload novamente para o OSS.

  • O script de bootstrap do EMR não encontra comandos como YARN e HDFS.

    Por padrão, o EMR não carrega informações de perfil ao executar um script de cluster. Para usar comandos como YARN e HDFS, adicione . /etc/profile no início do script para carregar o perfil.

    Importante

    No comando . /etc/profile, é obrigatório haver um espaço entre . e /etc/profile.