2009-09-10 9 views

Odpowiedz

9
hdfs dfs -rm -r "/*" 

(stary odpowiedź została zaniechana)

+0

dostaję usuwania uszkodzonego błąd, gdy próbuję to mogę usunąć podkatalogi, ale nie korzeń –

+1

'HDFS DFS -rmr' jest teraz przestarzała i również nie będzie działać na'/'. Zamiast tego powinieneś wypróbować 'hdfs dfs -rm -r"/* "'. – Mehraban

10
bin/hadoop namenode -format 
+3

Uwaga: istniejące stare datanody nie będą działać z tym nowo sformatowanym plikiem dfs. Zobacz http://issues.apache.org/jira/browse/HDFS-107 – Leonidas

16

trzeba zrobić dwie rzeczy:

  1. Usuń głównego katalogu pamięci Hadoop z każdego węzła. Ten katalog jest zdefiniowany przez właściwość hadoop.tmp.dir w pliku hdfs-site.xml.

  2. sformatować namenode:

hadoop namenode -format 

Jeśli tylko ty (2), będzie usunąć tylko metadane przechowywane przez namenode, ale nie będzie pozbyć się wszystkich czasowego składowania i bloki datanodu.

+0

usunięcie głównego katalogu magazynu hadoop z każdego pojedynczego węzła jest niewykonalne! – Mehraban

+0

Wykonanie polecenia namenode-format spowoduje usunięcie wszystkich metadanych, a także uniemożliwi korzystanie z klastra. To nie jest wskazana opcja. –

+0

Również, jeśli format namenode wygeneruje nowy identyfikator klastra dla nazwy identyfikatora, a wszystkie inne deamony nie będą mogły komunikować się z nazwą namenodu. Zaktualizuj swoją odpowiedź, aby uniknąć błędnych wskazówek. Dzięki –

3

Tak właśnie musiałem zrobić w przeszłości.

1. Przejdź do swojego katalogu hadoop w swoim NameNode, a następnie zatrzymaj wszystkie procesy miauczenia. Uruchomienie domyślnego skryptu stop-all. Spowoduje to również zatrzymanie DFS. na przykład

cd myhadoopdirectory 
bin/stop-all.sh 

2. Teraz na każdym komputerze w klastrze (Namenodes, JobTrackers, datanodes itp) usunąć wszystkie pliki na głównej kopalni przechowywania Hadoop jest ustawiona do folderu temp w folderze głównym. Twój można znaleźć w pliku conf hdfs-site.xml w ramach właściwości hadoop.tmp.dir, np.

cd /temp/ 
rm -r * 

3. W końcu wrócić do swojego węzła nazwę i format, przechodząc do katalogu Hadoop i działa „bin/Hadoop namenode -format” np

cd myhadoopdirectory 
bin/hadoop namenode -format 

4. Uruchom ponownie klaster, wykonując następujące polecenie. Uruchomi także ponownie DFS.

bin/start-all.sh 

5. I powinno działać.

3

może wydać

hadoop fs -rmr/

byłoby to usunięcie wszystkich katalogów i podkatalogów pod DFS.

Inną opcją jest zatrzymanie klastra i wydaj:

hadoop namenode -format 

byłoby to wymazanie całej zawartości na DFS, a następnie ponownie uruchomić klaster.

1
  1. Musisz zadzwonić pod numer bin/stop-all.sh, aby zatrzymać dfs i mapreduce.
  2. Usuń katalog danych skonfigurowany w conf/hdfs-site.xml i conf/mapred-site.xml.
  3. Upewnij się, że zostały usunięte niektóre pliki tymczasowe istniejące w katalogu/tmp.

Po wykonaniu wszystkich powyższych kroków można zadzwonić pod numer bin/hadoop namenode -format, aby zregenerować plik dfs.

0
  1. Zatrzymaj klastrowania

    ${HADOOP_HOME}/bin/stop-mapred.sh

    ${HADOOP_HOME}/bin/stop-dfs.sh

    lub jeśli jego pseudo rozprowadzane po prostu kwestia:

    ${HADOOP_HOME}/bin/stop-all.sh

  2. sformatować HDFS

    hadoop namenode -format