Substituição de nós não íntegros pelo Amazon EMR - Amazon EMR

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á.

Substituição de nós não íntegros pelo Amazon EMR

O Amazon EMR usa periodicamente o serviço de verificação de NodeManager saúde no Apache Hadoop para monitorar o status dos nós principais em seu Amazon EMR em clusters da Amazon. EC2 Se um nó não estiver funcionando de forma ideal, o nó será marcado como não íntegro e o verificador de integridade reportará esse nó ao controlador do Amazon EMR. O controlador do Amazon EMR adiciona o nó a uma lista de negação, impedindo que o nó receba novos aplicativos do YARN até que o status do nó melhore.

nota

Um motivo comum para um nó não estar íntegro é a falta de espaço em disco. Para obter mais informações sobre quando um nó principal está quase sem espaço em disco, o seguinte artigo do re:POST Knowledge Center é útil: Por que o nó principal do meu cluster do Amazon EMR está ficando sem espaço em disco?

nota

O Hadoop fornece a capacidade de executar verificações personalizadas de integridade dos nós. Isso é explicado com mais detalhes na documentação do Apache Hadoop em. NodeManager

Você pode escolher se o Amazon EMR deve encerrar os nós não íntegros ou mantê-los no cluster. Se você desativar a substituição de nós não saudáveis, eles permanecerão na lista de negação e continuarão contando para a capacidade do cluster. Você ainda pode se conectar à sua instância EC2 principal da Amazon para configuração e recuperação, então você pode redimensionar seu cluster se quiser adicionar capacidade. Para obter mais informações sobre como a substituição e o encerramento de nós funcionam, consulte Usando a proteção contra encerramento.

Se a substituição de nós não íntegros for ativada, o Amazon EMR encerra um nó principal não íntegro e provisiona uma nova instância, com base no número de instâncias no grupo de instâncias ou com base na capacidade alvo das frotas de instâncias. Se algum nó ficar insalubre por mais de 45 minutos, o Amazon EMR substituirá os nós normalmente. Se o descomissionamento normal de um nó não for concluído em uma hora, o nó será encerrado à força, a menos que o encerramento faça com que o cluster fique abaixo do fator de replicação ou das restrições de capacidade do HDFS.

Importante

Observe que o tempo necessário até que um nó seja descomissionado ou encerrado normalmente pode estar sujeito a alterações.

Embora a substituição inadequada de nós reduza significativamente a possibilidade de perda de dados, ela não elimina totalmente o risco. Os dados do HDFS podem ser perdidos permanentemente durante a substituição normal de uma instância central não íntegra. Recomendamos que você sempre faça backup de seus dados.

Para obter mais informações sobre como identificar e recuperar os nós não íntegros, consulte Resource errors. Além disso, para obter mais práticas recomendadas que você pode seguir para manter a integridade de um cluster, consulte a documentação a seguir sobre o erro de recurso O cluster do Amazon EMR termina com NO_SLAVE_LEFT e os nós principais FAILED_BY_MASTER.

O Amazon EMR publica o CloudWatch Amazon Events para substituição de nós com problemas de integridade, para que você possa acompanhar o que está acontecendo com suas instâncias principais não íntegras. Para obter mais informações, consulte unhealthy node replacement events.

Configurações padrão de substituição de nós e proteção contra encerramento

A substituição de nós não íntegros está disponível em todas as versões do Amazon EMR, mas as configurações padrão dependem do rótulo de lançamento que você escolher. Você pode alterar qualquer uma dessas definições configurando a substituição de nós não íntegros ao criar um cluster ou acessando a configuração do cluster a qualquer momento.

Caso esteja criando um cluster de nó único ou de alta disponibilidade que esteja executando a versão 7.0 ou inferior do Amazon EMR, a configuração padrão de substituição de nós não íntegros depende da proteção contra encerramento:

  • Habilitar a proteção contra encerramento desabilita a substituição de nós não íntegros.

  • Desabilitar a proteção contra encerramento habilita a substituição de nós não íntegros.

Como configurar a substituição de nós não íntegros ao iniciar um cluster

Você pode ativar ou desativar a substituição não íntegra de nós ao iniciar um cluster usando o console AWS CLI, o ou a API.

A configuração padrão de substituição de nós não íntegros depende de como você inicia o cluster:

  • Console do Amazon EMR: a substituição de nós não íntegros é habilitada por padrão.

  • AWS CLI aws emr create-cluster— a substituição de nós não íntegros é ativada por padrão, a menos que você especifique--no-unhealthy-node-replacement.

  • Comando da RunJobFlow API do Amazon EMR — a substituição de nós não íntegros é ativada por padrão, a menos que você defina o valor UnhealthyNodeReplacement booleano como ou. True False

Console
Como ativar ou desativar a substituição de nós não íntegros ao criar um cluster usando o console
  1. Faça login no e abra AWS Management Console o console do Amazon EMR em https://console.aws.amazon.com /emr.

  2. Em EMR, EC2 no painel de navegação esquerdo, escolha Clusters e, em seguida, escolha Criar cluster.

  3. Em Versão de lançamento do EMR, escolha o rótulo de lançamento do Amazon EMR que deseja.

  4. Em Encerramento de cluster e substituição de nó, verifique se a opção Substituição de nó não íntegro (recomendada) está pré-selecionada ou desmarque a seleção para desativá-la.

  5. Escolha qualquer outra opção que se aplique ao cluster.

  6. Para iniciar o cluster, escolha Criar cluster.

AWS CLI
Para ativar ou desativar a substituição de nós não íntegros ao criar um cluster usando o AWS CLI
  • Com o AWS CLI, você pode iniciar um cluster com a substituição de nós não íntegros ativada com o create-cluster comando com o --unhealthy-node-replacement parâmetro. A substituição de nós não íntegros está ativada por padrão.

    O seguinte exemplo cria um cluster com a substituição de nós não íntegros habilitada:

    nota

    Os caracteres de continuação de linha do Linux (\) são incluídos para facilitar a leitura. Eles podem ser removidos ou usados ​​em comandos do Linux. No Windows, remova-os ou substitua-os por um sinal de interpolação (^).

    aws emr create-cluster --name "SampleCluster" --release-label emr-7.9.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --unhealthy-node-replacement

    Para obter mais informações sobre o uso dos comandos do Amazon EMR no AWS CLI, consulte Comandos do Amazon EMR. AWS CLI

Como configurar a substituição de nós não íntegros em um cluster em execução

Você pode ativar ou desativar a substituição de nós não íntegros em um cluster em execução usando o console AWS CLI, o ou a API.

Console
Para ativar ou desativar a substituição de nós não íntegros de um cluster em execução usando o console
  1. Faça login no e abra AWS Management Console o console do Amazon EMR em https://console.aws.amazon.com /emr.

  2. Em EMR, EC2 no painel de navegação esquerdo, escolha Clusters e selecione o cluster que você deseja atualizar.

  3. Na guia Propriedades na página de detalhes do cluster, localize Encerramento do cluster e substituição do nó e selecione Editar.

  4. Marque ou desmarque a caixa de seleção de substituição de nós não íntegros para ativar ou desativar o recurso. Depois selecione Salvar alterações para confirmar.

AWS CLI
Para ativar ou desativar a substituição de nós não íntegros em um cluster em execução usando o AWS CLI
  • Para ativar a substituição de nós não íntegros de um cluster em execução com a AWS CLI, use o comando modify-cluster-attributes com o parâmetro --unhealthy-node-replacement. Para desabilitá-la, use o parâmetro --no-unhealthy-node-replacement.

    O exemplo a seguir ativa a substituição de nós não íntegros no cluster com ID: j-3KVTXXXXXX7UG

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --unhealthy-node-replacement

    O seguinte exemplo desativa a substituição de nós não íntegros no mesmo cluster:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-unhealthy-node-replacement