2016-04-24 28 views
0

Iやったこの: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分散ファイルシステム(HDFS)、あるい/の下にあるすべてのディレクトリを見せてhadoop fs -ls /

?もしそうなら、私はこれを行う場合は何が起こるか知っていただきたいと思います。(私はそれを必要とするので/userの例外を除いて)実質的にすべてのそれらのディレクトリを削除して

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

を。それは問題を引き起こすでしょうか?もしそうなら、何?私はきれいなスレートを望んでいたので、私はすべてのHDFSを取り除こうとしています。これは私のsqoopのものです。

私のコンピュータをクラッシュさせたくないです。

私は専門家の助言が必要なので、まだ-rm -rは何もありません。

Thnxです。

+0

これはHDFSではなくローカルファイルシステムのようです。 HDFSでファイルのリストを取得するには、 'hadoop fs -ls hdfs:// localhost:<あなたのhdfsポートここ> /'のようなものを実行してください。詳細については、このトピックを参照してください。https://stackoverflow.com/questions/15801444/hadoop-fs-commands-are-showing-the-local-filesystem-not-the-hdfs –

答えて

0

一見するとうまく見えます。

理由は-rm -rが適切に恐ろしいのは、あなたが本当にやりたくないコマンドであることです。開始する場所の下にあるものはすべて削除されるからです。 -rm-rコマンドは、「再帰的」を意味します。つまり、そのディレクトリ内のすべてと、含まれるすべてのファイルとディレクトリを意味します。ディレクトリ "foo"に "bar"と "bar"が含まれ、 "fubar"が含まれていてファイル "do-not-delete-on-pain-of-death.txt"が含まれている場合、ファイルを含む/foo/bar/fubar/hadoop fs -rm -r /fooを実行した場合は、fooとその下のすべてを吹き飛ばすことに注意してください。

hadoop fs -rm -r /etc/sqoopのようなものは、実際には/sqoopの間にスペースを間違えて入力してください。 /etcを削除してから/(root)の下にあるものをすべて削除すると悪いことになります。その時点で、Hadoopのゴミ箱が動作することを非常に期待しています。

したがって、/etc /home /sqoop /sqooptest /tmp /usr /var以下のすべての値を使用できるとすると、あなたのコマンドはokです。

しかし、これがあいまいであるかわからない場合は、 "temptest"のようなディレクトリを作成し、削除したくないサブディレクトリをいくつか作成してください。 rm -rは、ファイルシステムコマンドの核爆弾です。キーを回す方法を知っていることを確認してください:-)。過度に警戒するものではありません。

関連する問題