Cenário: HDFS local travado no modo de segurança no cluster do Azure HDInsight

Este artigo descreve as etapas de solução de problemas e possíveis soluções para problemas durante a interação com clusters do Azure HDInsight.

Problema

O HDFS (Sistema de Arquivos Distribuído do Apache Hadoop) local está travado no modo de segurança no cluster HDInsight. Você recebe uma mensagem de erro semelhante à seguinte:

hdiuser@spark2:~$ hdfs dfs -D "fs.default.name=hdfs://mycluster/" -mkdir /temp
17/04/05 16:20:52 WARN retry.RetryInvocationHandler: Exception while invoking ClientNamenodeProtocolTranslatorPB.mkdirs over spark2.2oyzcdm4sfjuzjmj5dnmvscjpg.dx.internal.cloudapp.net/10.0.0.22:8020. Not retrying because try once and fail.
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /temp. Name node is in safe mode.
It was turned on manually. Use "hdfs dfsadmin -safemode leave" to turn safe mode off.
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkNameNodeSafeMode(FSNamesystem.java:1359)
...
mkdir: Cannot create directory /temp. Name node is in safe mode.

Causa

O cluster do HDInsight foi reduzido verticalmente para alguns poucos nós abaixo ou perto do fator de replicação do HDFS.

Resolução

  1. Relate o status do HDFS no cluster HDInsight com o seguinte comando:

    hdfs dfsadmin -D "fs.default.name=hdfs://mycluster/" -report
    
  2. Verifique a integridade do HDFS no cluster HDInsight com o seguinte comando:

    hdiuser@spark2:~$ hdfs fsck -D "fs.default.name=hdfs://mycluster/" /
    
  3. Se for determinado que não há blocos ausentes corrompido ou sub-replicados ou se for possível ignorar esses blocos, execute o seguinte comando para colocar o nó de nome fora do modo de segurança:

    hdfs dfsadmin -D "fs.default.name=hdfs://mycluster/" -safemode leave
    

Próximas etapas

Se você não encontrou seu problema ou não conseguiu resolver seu problema, visite um dos seguintes canais para obter mais suporte:

  • Obtenha respostas de especialistas do Azure por meio do Suporte da Comunidade do Azure.

  • Conecte-se com @AzureSupport – a conta oficial do Microsoft Azure para aprimorar a experiência do cliente. Como se conectar à comunidade do Azure para os recursos certos: respostas, suporte e especialistas.

  • Se precisar de mais ajuda, poderá enviar uma solicitação de suporte do portal do Azure. Selecione Suporte na barra de menus ou abra o hub Ajuda + suporte. Para obter informações mais detalhadas, consulte Como criar uma solicitação de Suporte do Azure. O acesso ao Gerenciamento de assinaturas e ao suporte de cobrança está incluído na sua assinatura do Microsoft Azure, e o suporte técnico é fornecido por meio de um dos Planos de suporte do Azure.