HDFS:删除目录

时间:2016-04-24 20:03:05

标签: hadoop directory hdfs

我这样做了:hadoop fs -ls /

它向我显示了具有Hadoop分布式文件系统(HDFS)的/下的所有目录,它们是:

drwxr-xr-x   - hduser supergroup          0 2016-04-23 02:08 /etc
drwxr-xr-x   - hduser supergroup          0 2016-04-23 03:21 /home
drwxr-xr-x   - hduser supergroup          0 2016-04-23 03:15 /sqoop
drwxr-xr-x   - hduser supergroup          0 2016-04-24 02:28 /sqooptest
drwx-wx-wx   - hduser supergroup          0 2016-04-08 22:23 /tmp
drwxr-xr-x   - hduser supergroup          0 2016-04-25 00:50 /user
drwxr-xr-x   - hduser supergroup          0 2016-04-08 22:33 /usr
drwxr-xr-x   - hduser supergroup          0 2016-04-24 02:33 /var

这是对的吗?如果是这样,我想知道如果我这样做将会发生什么:

hadoop fs -rm -r /etc /home /sqoop /sqooptest /tmp /usr /var

基本上删除了所有这些目录(/user除外,因为我需要它)。它会引起问题吗?如果是这样,什么?我想要一个干净的平板,所以我试图删除所有HDFS。这是我的sqoop的东西。

我只是不想让我的电脑崩溃。

我还没有-rm -r什么,因为我需要专家建议。

Thnx提前。

1 个答案:

答案 0 :(得分:1)

乍一看看起来很好看。

-rm -r适当可怕的原因是它是一个你真的不想搞砸的命令,因为它会删除你开始的所有内容。 -r命令中的-rm表示“递归”,换句话说,该目录中的所有内容以及包含的所有文件和目录。如果目录“foo”包含“bar”和“bar”包含“fubar”并且包含文件“do-not-delete-on-pain-of-death.txt”,那么您将拥有类似/foo/bar/fubar/的路径包含.txt文件。请注意,如果您运行hadoop fs -rm -r /foo,您将会吹走foo以及其下的所有内容。

你真正不想做的事情是hadoop fs -rm -r /etc / sqoop - 看看我是如何错误地在/sqoop之间划出空格的?这会很糟糕,因为它说删除/etc然后删除/(root)下的所有内容,此时你对Hadoop的垃圾箱工作非常有希望。

因此,假设您可以使用/etc /home /sqoop /sqooptest /tmp /usr /var内的所有内容,您的命令就可以了。

但是如果这有任何模糊或者您不确定,请创建一个类似“temptest”的目录,并在下面创建一些您不想删除的子目录。 rm -r是文件系统命令的核弹。确保你知道如何转动钥匙:-)。不要过于惊慌或任何事情......