Substituição de nós não íntegros pelo Amazon EMR
O Amazon EMR usa periodicamente o serviço de verificação de integridade NodeManager
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ó central está quase sem espaço em disco, o seguinte artigo do Centro de conhecimento re:Post ajuda: Por que o nó central 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 do nó. Isso é explicado com mais detalhes na documentação do Apache Hadoop no 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 íntegros, eles permanecerão na lista de rejeição e continuarão a ser considerados na capacidade do cluster. Você ainda pode se conectar à instância central do Amazon EC2 para configuração e recuperação a fim de redimensionar o cluster se quiser adicionar capacidade. Para obter mais informações sobre como a substituição e o encerramento de nós funcionam, consulte Usar proteção contra encerramento.
Se a substituição de nós com falha estiver ativada, o Amazon EMR encerrará um nó central com falha e provisionará uma nova instância, com base no número de instâncias no grupo de instâncias ou na capacidade alvo para frotas de instâncias. Se qualquer nó central se tornar não íntegro por mais de 45 minutos, o Amazon EMR o substituirá. Se a desativação gradual de um nó não for concluída em uma hora, o nó será encerrado à força, a menos que isso 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 os riscos. Os dados do HDFS sejam perdidos permanentemente durante a substituição normal de uma instância central não íntegra. Recomendamos sempre fazer backup dos 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 centrais FAILED_BY_MASTER.
O Amazon EMR publica o Amazon CloudWatch Events para substituição de nós não íntegros, para que você possa acompanhar o que está acontecendo com suas instâncias centrais 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 habilitar ou desabilitar a substituição de nós não íntegros ao iniciar um cluster usando o console, a AWS CLI 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 é habilitada por padrão, a menos que você especifique--no-unhealthy-node-replacement. -
Comando da API RunJobFlow do Amazon EMR: a substituição de nós não íntegros é habilitada por padrão, a menos que você defina o valor booleano
UnhealthyNodeReplacementcomoTrueouFalse.
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 de um cluster em execução usando o console, a AWS CLI ou a API.