As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Uso da proteção contra encerramento para proteger clusters do Amazon EMR do desligamento acidental
A proteção contra encerramento protege os clusters do encerramento acidental, o que pode ser especialmente útil para clusters de longa execução que processam workloads críticas. Quando a proteção contra encerramento está habilitada em um cluster de longa execução, você ainda poderá encerrar o cluster, mas deverá removê-la explicitamente do cluster primeiro. Isso ajuda a garantir que as instâncias do EC2 não sejam encerradas por acidente ou erro. Você pode habilitar a proteção contra encerramento ao criar um cluster e alterar a configuração em um cluster em execução.
Com a proteção contra término habilitada, a ação TerminateJobFlows na API do Amazon EMR não funciona. Os usuários não podem encerrar o cluster usando essa API nem o comando terminate-clusters da AWS CLI. A API retornará um erro, e a CLI será encerrada com um código de retorno diferente de zero. Quando você usar o console do Amazon EMR para encerrar um cluster, será solicitado que você execute uma etapa adicional para desativar a proteção contra término.
Atenção
A proteção contra término não garante que os dados sejam retidos em caso de erro humano ou de solução alternativa. Por exemplo, se um comando de reinicialização for emitido pela linha de comando enquanto estiver conectado à instância usando SSH, se uma aplicação ou um script em execução na instância emitir um comando de reinicialização ou se a API do Amazon EC2 ou do Amazon EMR for usada para desabilitar a proteção contra término. Isso também vale se estiver executando as versões 7.1 e superiores do Amazon EMR e uma instância se tornar não íntegra e irrecuperável. Mesmo com a proteção contra término habilitada, os dados salvos no armazenamento da instância, inclusive dados do HDFS, poderão ser perdidos. Grave a saída de dados nos locais do Amazon S3 e crie estratégias de backup conforme a necessidade de seus requisitos de continuidade de negócios.
A proteção contra encerramento não afeta sua capacidade de dimensionar recursos de cluster usando qualquer uma das seguintes ações:
-
Redimensionando um cluster manualmente com o Console de gerenciamento da AWS ou AWS CLI. Para obter mais informações, consulte Redimensionar manualmente um cluster do Amazon EMR em execução.
-
Removendo instâncias de um grupo de instâncias core ou de tarefa usando uma política de redução com a escalabilidade automática. Para obter mais informações, consulte Uso do ajuste de escala automático com uma política personalizada para grupos de instâncias no Amazon EMR.
-
Removendo instâncias de uma frota de instâncias, reduzindo a capacidade de destino. Para obter mais informações, consulte Opções de frotas de instâncias.
Proteção contra término e o Amazon EC2
A configuração de proteção contra encerramento em um cluster do Amazon EMR corresponde ao atributo DisableApiTermination de todas as instâncias do Amazon EC2 no cluster. Por exemplo, se habilitar a proteção contra encerramento em um cluster do EMR, o Amazon EMR automaticamente define DisableApiTermination como verdadeiro para todas as instâncias do EC2 no cluster do EMR. O mesmo se aplica se você desabilitar a proteção contra encerramento. O Amazon EMR define automaticamente DisableApiTermination como falso para todas as instâncias do EC2 no cluster do EMR. Se você encerrar ou reduzir verticalmente a escala de um cluster do Amazon EMR e as configurações do Amazon EC2 entrarem em conflito para uma instância do EC2, o Amazon EMR priorizará a configuração do Amazon EMR sobre as configurações DisableApiStop e DisableApiTermination no Amazon EC2 e continuará a encerrar a instância do EC2.
Por exemplo, você pode usar o console do Amazon EC2 para habilitar a proteção contra encerramento em uma instância do Amazon EC2 em um cluster do EMR com a proteção contra encerramento desabilitada. Se você encerrar ou reduzir o cluster com o console do Amazon EMR, o ou AWS CLI a API do Amazon EMR, o Amazon EMR DisableApiTermination substituirá a configuração, a definirá como falsa e encerrará a instância junto com outras instâncias.
Você também pode usar o console do Amazon EC2 para habilitar a proteção contra interrupção em uma instância do Amazon EC2 em um cluster do EMR com a proteção contra encerramento desabilitada. Se você encerrar ou reduzir verticalmente a escala do cluster, o Amazon EMR define DisableApiStop como falso no Amazon EC2 e encerra a instância com outras instâncias.
O Amazon EMR substitui a configuração DisableApiStop somente quando você encerra ou reduz verticalmente a escala de um cluster. Quando você habilita ou desabilita a proteção contra encerramento em um cluster do EMR, o Amazon EMR não altera a configuração disableApiStop de nenhuma das instâncias do EC2 no respectivo cluster do EMR.
Importante
Se você criar uma instância como parte de um cluster do Amazon EMR com proteção contra encerramento e usar a API ou os comandos do Amazon EC2 para modificar a instância de tal forma, e então a API AWS CLI ou DisableApiTermination os comandos do Amazon EC2 executarem a operaçãoTerminateInstances, a instância do Amazon EC2 false será encerrada. AWS CLI
Proteção contra término e nós não íntegros do YARN
O Amazon EMR verifica periodicamente o status do Apache Hadoop YARN de nós em execução nas instâncias centrais e de tarefa do Amazon EC2 em um cluster. O estado de saúde é relatado pelo serviço NodeManager de verificação de saúdeUNHEALTHY, o controlador de instâncias do Amazon EMR adicionará o nó à lista de negação e não alocará contêineres YARN a ele até que se torne íntegro novamente. Dependendo do status da proteção contra encerramento, da substituição de nós não íntegros e da versão de lançamento do Amazon EMR, o Amazon EMR substituirá a instância não íntegra ou interromperá a alocação de controladores na instância.
Proteção contra encerramento e encerramento após a execução de etapas
Quando você habilita o encerramento após a execução da etapa e a proteção contra encerramento, o Amazon EMR ignora a proteção contra encerramento.
Ao enviar etapas para um cluster, você pode definir a propriedade ActionOnFailure para determinar o que acontecerá se não for possível executar a etapa devido a um erro. Os valores possíveis para essa configuração são TERMINATE_CLUSTER (TERMINATE_JOB_FLOW com versões anteriores) CANCEL_AND_WAIT e CONTINUE. Para obter mais informações, consulte Envio de trabalhos para um cluster do Amazon EMR.
Se ocorrer uma falha em uma etapa configurada com ActionOnFailure definida como CANCEL_AND_WAIT, se o encerramento após a execução da etapa estiver habilitado, o cluster será encerrado sem executar as etapas subsequentes.
Se ocorrer uma falha em uma etapa configurada com ActionOnFailure definida como TERMINATE_CLUSTER, use a tabela de configurações abaixo para determinar o resultado.
| ActionOnFailure | Encerramento após a execução da etapa | Termination protection | Resultado |
|---|---|---|---|
|
|
Habilitado |
Desabilitado |
O cluster é encerrado |
|
Habilitado |
Habilitado |
O cluster é encerrado |
|
|
Desabilitado |
Habilitado |
O cluster continua |
|
|
Desabilitado |
Desabilitado |
O cluster é encerrado |
Proteção contra término e instâncias spot
A proteção contra término do Amazon EMR não impede que uma instância spot do Amazon EC2 seja terminada quando o preço spot ultrapassa o preço spot máximo.
Configurar a proteção contra término ao iniciar um cluster
Você pode ativar ou desativar a proteção contra encerramento ao iniciar um cluster usando o console AWS CLI, o ou a API.
Em clusters de nó único, as configurações padrão de proteção contra encerramento são as seguintes:
-
Inicialização de um cluster pelo console do Amazon EMR: a proteção contra encerramento está desabilitada por padrão.
-
A inicialização de um cluster por meio da AWS CLI
aws emr create-cluster—Termination Protection está desativada, a menos que--termination-protectedseja especificada. -
Lançamento de um cluster pelo RunJobFlowcomando da API do Amazon EMR — a Proteção de terminação é desativada, a menos que o valor
TerminationProtectedbooleano esteja definido como.true
Em clusters de alta disponibilidade, as configurações padrão de proteção contra encerramento são as seguintes:
-
Iniciar um cluster pelo console do Amazon EMR: a proteção contra encerramento é habilitada por padrão.
-
A inicialização de um cluster por meio da AWS CLI
aws emr create-cluster—Termination Protection está desativada, a menos que--termination-protectedseja especificada. -
Lançamento de um cluster pelo RunJobFlowcomando da API do Amazon EMR — a Proteção de terminação é desativada, a menos que o valor
TerminationProtectedbooleano esteja definido como.true
Configurar a proteção contra término para clusters em execução
Você pode configurar a proteção contra término para um cluster em execução usando o console ou a AWS CLI.