Partilhar via


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

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

Problema

O Apache Hadoop Distributed File System (HDFS) local está preso 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.

Motivo

O cluster HDInsight foi reduzido para muito poucos nós abaixo ou o número de nós está próximo do fator de replicação do HDFS.

Resolução

  1. Comunique o estado do HDFS no cluster do HDInsight com o seguinte comando:

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

    hdiuser@spark2:~$ hdfs fsck -D "fs.default.name=hdfs://mycluster/" /
    
  3. Se determinado que não há blocos ausentes, corrompidos ou replicados ou esses blocos podem ser ignorados, execute o seguinte comando para tirar o nó de nome do modo de segurança:

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

Próximos passos

Se não viu o problema ou não conseguiu resolvê-lo, visite um dos seguintes canais para obter mais suporte:

  • Obtenha respostas de especialistas do Azure através do Suporte da Comunidade do Azure.

  • Conecte-se com o @AzureSupport - a conta oficial do Microsoft Azure para melhorar a experiência do cliente. Ligar a comunidade do Azure aos recursos certos: respostas, suporte e especialistas.

  • Se precisar de mais ajuda, você pode 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 suporte para Gestão de Subscrições e faturação está incluído na sua subscrição do Microsoft Azure e o Suporte Técnico é disponibilizado através de um dos Planos de Suporte do Azure.