Erro de cluster do Amazon EMR: o arquivo só pôde ser replicado para 0 nós em vez de 1
Quando um arquivo é gravado no HDFS, ele é replicado para vários nós core. Quando você recebe este erro, isso significa que o daemon NameNode não tem instâncias de DataNode disponíveis para gravar dados no HDFS. Em outras palavras, a replicação de blocos não está sendo realizada. Esse erro pode ser causado por vários problemas:
-
O sistema de arquivos do HDFS pode estar com o espaço esgotado. Esta é a causa mais provável.
-
As instâncias de DataNode não estavam disponíveis quando o trabalho foi executado.
-
As instâncias de DataNode podem ter sido bloqueadas na comunicação com o nó principal.
-
As instâncias no grupo de instâncias core podem não estar disponíveis.
-
Podem estar faltando permissões. Por exemplo, o daemon do JobTracker pode não ter permissões para criar as informações de acompanhamento do trabalho.
-
A configuração do espaço reservado para uma instância de DataNode pode ser insuficiente. Verifique se esse é o caso, examinando a definição da configuração de dfs.datanode.du.reserved.
Para verificar se esse problema é causado pela falta de espaço em disco do HDFS, examine a métrica HDFSUtilization no CloudWatch. Se o valor for muito alto, você pode adicionar mais nós core ao cluster. Caso tenha um cluster que talvez fique sem espaço em disco no HDFS, você pode definir um alarme no CloudWatch para alertar você quando o valor de HDFSUtilization ultrapassar determinado nível. Para obter mais informações, consulte Redimensionar manualmente um cluster do Amazon EMR em execução e Monitorar o Amazon EMR com o CloudWatch.
Se o esgotamento do espaço no HDFS não era o problema, verifique a existência de outros problemas nos logs do DataNode e do NameNode e na conectividade de rede que podem estar impedindo a replicação de dados do HDFS. Para obter mais informações, consulte Exibição dos arquivos de log do Amazon EMR.