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
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
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/" /
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ą:
Uzyskaj odpowiedzi od ekspertów platformy Azure za pośrednictwem pomocy technicznej społeczności platformy Azure.
Połącz się z @AzureSupport — oficjalnym kontem platformy Microsoft Azure w celu poprawy jakości obsługi klienta. Łączenie społeczności platformy Azure z odpowiednimi zasobami: odpowiedziami, pomocą techniczną i ekspertami.
Jeśli potrzebujesz dodatkowej pomocy, możesz przesłać wniosek o pomoc techniczną z Azure Portal. Wybierz pozycję Pomoc techniczna na pasku menu lub otwórz centrum Pomoc i obsługa techniczna . Aby uzyskać bardziej szczegółowe informacje, zobacz How to create an pomoc techniczna platformy Azure request (Jak utworzyć żądanie pomoc techniczna platformy Azure). Dostęp do pomocy technicznej w zakresie zarządzania subskrypcjami i rozliczeń jest dołączany do subskrypcji platformy Microsoft Azure, a pomoc techniczna jest zapewniana za pośrednictwem jednego z planów pomocy technicznej platformy Azure.