Scenariusz: lokalny system plików HDFS zablokowany w trybie awaryjnym w klastrze usługi Azure HDInsight

W tym artykule opisano kroki rozwiązywania problemów i możliwe rozwiązania problemów podczas interakcji z klastrami usługi Azure HDInsight.

Problem

Lokalny rozproszony system plików Apache Hadoop (HDFS) jest zablokowany w trybie awaryjnym w klastrze usługi HDInsight. Zostanie wyświetlony komunikat o błędzie podobny do następującego:

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.

Przyczyna

Klaster usługi HDInsight został przeskalowany w dół do kilku poniższych węzłów lub liczba węzłów znajduje się blisko współczynnika replikacji systemu plików HDFS.

Rozwiązanie

  1. Zgłoś stan systemu plików HDFS w klastrze usługi HDInsight za pomocą następującego polecenia:

    hdfs dfsadmin -D "fs.default.name=hdfs://mycluster/" -report
    
  2. Sprawdź integralność systemu plików HDFS w klastrze usługi HDInsight za pomocą następującego polecenia:

    hdiuser@spark2:~$ hdfs fsck -D "fs.default.name=hdfs://mycluster/" /
    
  3. Jeśli okaże się, że nie ma brakujących, uszkodzonych lub w ramach zreplikowanych bloków lub tych bloków można zignorować, uruchom następujące polecenie, aby przejąć węzeł nazwy z trybu bezpiecznego:

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

Następne kroki

Jeśli nie widzisz problemu lub nie możesz go rozwiązać, odwiedź jeden z następujących kanałów, aby uzyskać dodatkową pomoc techniczną: