如何在Hadoop中清除DFS?
答案 0 :(得分:17)
你需要做两件事:
从每个节点删除主hadoop存储目录。该目录由hdfs-site.xml中的hadoop.tmp.dir属性定义。
重新格式化namenode:
hadoop namenode -format
如果你只做(2),它只会删除namenode存储的元数据,但不会删除所有临时存储和datanode块。
答案 1 :(得分:10)
bin/hadoop namenode -format
答案 2 :(得分:9)
hdfs dfs -rm -r "/*"
(旧答案已被弃用)
答案 3 :(得分:3)
所以这就是我过去必须做的事情。
1。导航到NameNode上的hadoop目录,然后停止所有hadoop进程。通过运行默认的stop-all脚本。这也将停止DFS。 e.g。
cd myhadoopdirectory
bin/stop-all.sh
2。现在,在群集中的每台计算机上(Namenodes,JobTrackers,datanodes等),删除主hadoop存储中的所有文件,将其设置为根文件夹中的temp文件夹。您可以在hadoop.tmp.dir属性下的conf hdfs-site.xml文件中找到它。例如
cd /temp/
rm -r *
3。最后返回到您的名称节点,并通过转到hadoop目录并运行'bin / hadoop namenode -format'进行格式化,例如
cd myhadoopdirectory
bin/hadoop namenode -format
4。运行以下命令再次启动集群。它还将再次启动DFS。
bin/start-all.sh
5。它应该工作。
答案 4 :(得分:3)
您可以发出
hadoop fs -rmr /
这将删除DFS下的所有目录和子目录。
另一个选择是停止群集,然后发出:
hadoop namenode -format
这将清除DFS上的所有内容,然后再次启动群集。
答案 5 :(得分:1)
bin/stop-all.sh
以停止dfs和mapreduce。完成上述所有步骤后,您可以调用bin/hadoop namenode -format
重新生成dfs。
答案 6 :(得分:1)
停止群集
${HADOOP_HOME}/bin/stop-mapred.sh
${HADOOP_HOME}/bin/stop-dfs.sh
或者如果它是伪分布的,只需发出:
${HADOOP_HOME}/bin/stop-all.sh
格式化你的hdfs
hadoop namenode -format