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 - hadoopno script para alternar para o usuário hadoop.
Adicionar uma bootstrap action
Há duas formas de adicionar uma bootstrap action.
Durante a criação
-
Acesse a página de gerenciamento de clusters.
Faça login no console do E-MapReduce.
Na barra de navegação superior, selecione uma região e um grupo de recursos.
Na página EMR on ECS, clique em CREATE_CLUSTER.
Na seção Advanced Settings da etapa Basic Configuration, clique em Add Bootstrap Action na linha Bootstrap Actions.
-
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.
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.
NotaSe 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
-
Acesse a página Script operation.
Faça login no console do E-MapReduce.
Na barra de navegação superior, selecione uma região e um grupo de recursos.
Clique em Services do cluster desejado.
Clique na aba Script Operation.
Na página Bootstrap Actions, clique em Add Bootstrap Action.
-
Na caixa de diálogo Add Bootstrap Action, configure os parâmetros.

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.
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.
-
-
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
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:
-
Acesse a página Cluster Services.
Acesse o console do EMR.
No painel de navegação à esquerda, clique em EMR on ECS.
Na barra de navegação superior, selecione uma região e um grupo de recursos.
Na página EMR on ECS, clique em Services do cluster desejado.
Clique na aba Script operation e, em seguida, clique em View Execution Result ao lado do script que deseja verificar.
-
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>.
ImportanteO 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