14

如何清除 Hadoop 中的 DFS?

4

7 回答 7

16

你需要做两件事:

  1. 从每个节点中删除主 hadoop 存储目录。此目录由 hdfs-site.xml 中的 hadoop.tmp.dir 属性定义。

  2. 重新格式化名称节点:

hadoop namenode -format

如果只做(2),它只会删除namenode存储的元数据,但不会删除所有临时存储和datanode块。

于 2011-12-21T23:58:38.963 回答
10
bin/hadoop namenode -format
于 2009-09-10T23:52:05.230 回答
10
hdfs dfs -rm -r "/*"

(旧答案已弃用)

于 2009-09-10T23:50:18.190 回答
3

所以这是我过去必须做的。

1. 导航到 NameNode 上的 hadoop 目录,然后停止所有 hadoop 进程。通过运行默认的 stop-all 脚本。这也将停止 DFS。例如

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. 它应该工作。

于 2012-02-05T17:44:30.370 回答
3

你可能会发出

hadoop fs -rmr /

这将删除 DFS 下的所有目录和子目录。

另一种选择是停止您的集群,然后发出:

hadoop namenode -format

这将擦除 DFS 上的所有内容,然后再次启动集群。

于 2012-04-12T19:26:31.557 回答
1
  1. 您需要调用bin/stop-all.sh以停止 dfs 和 mapreduce。
  2. 删除conf/hdfs-site.xmlconf/mapred-site.xml中配置的数据目录。
  3. 确保您已删除 /tmp 目录中存在的一些临时文件。

完成上述所有步骤后,您可以调用bin/hadoop namenode -format以重新生成 dfs。

于 2012-04-18T05:33:41.427 回答
1
  1. 阻止你集群

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

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

    或者如果它是伪分布式的,只需发出:

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

  2. 格式化你的hdfs

    hadoop namenode -format

于 2012-11-13T22:42:41.260 回答