2013-10-17 5 views
7

オンラインチュートリアルの後に、HadoopでWordCountサンプルを実行しようとしています。しかし、次のコマンドを実行すると、ファイルが私たちのローカルファイルシステムからHDFSにどこにコピーされるか分かりません。Hadoop上のHDFSロケーションとは何ですか?

hadoop fs -copyFromLocal /host/tut/python-tutorial.pdf /usr/local/myhadoop-tmp/ 

私は、次のコマンドを実行すると、私はHDFS上でここに記載されている私のpython-tutorial.pdfを参照してくださいいけません。

hadoop fs -ls 

これは私を混乱させます。私はすでにcore-site.xmlに "myhadoop-tmp"ディレクトリを指定しています。私はこのディレクトリがすべての入力ファイルを格納するHDFSディレクトリになると考えました。

core-site.xml 
============= 
<property> 
    <name>hadoop.tmp.dir</name> 
    <value>/usr/local/myhadoop-tmp</value> 
    <description>A base for other temporary directories.</description> 
</property> 

私のマシンにHDFSがどこにあるのでしょうか?どのような構成でHDFSディレクトリが決定され、入力ファイルはローカルファイルシステムからHDFSにコピーするときにどこに入りますか?

+0

hadoop fs -ls/usr/local/myhadoop-tmp/'を試しましたか? – cabad

+0

それは私のために働いた。私は今私のファイルを見ることができます。ガイダンスをありがとう。 – user2325154

+0

私の答えはあなたの質問に答えるので、それを受け入れるべきです。 – cabad

答えて

6

これは、dfs.datanode.data.dirプロパティで設定されます。デフォルトはfile://${hadoop.tmp.dir}/dfs/dataです(詳細はhereを参照)。

しかし、あなたの問題は、フルパス HDFS内で使用していないことです。代わりに、次のようにしてください:

hadoop fs -ls /usr/local/myhadoop-tmp/ 

また、ローカルファイルシステム内のパスにHDFS内のパスを混同しているように見えることに注意してください。 HDFS内のファイルは/usr/local/myhadoop-tmp/です。あなたのローカルシステムでは(あなたの設定が与えられていれば)、それは/usr/local/myhadoop-tmp/dfs/data/です。そこには、HDFSで定義されたディレクトリ構造と命名規則があります。これは、使用するHDFSの任意のパスとは独立しています。また、ブロックに分割され、各ブロックに一意のIDが割り当てられているため、同じ名前はありません。ブロック名はblk_1073741826のようになります。

結論として、データノードが使用するローカルパスは、HDFSで使用するパスと同じではありません。あなたのローカルディレクトリにファイルを探しに行くことができますが、HDFSメタデータ管理を台無しにする可能性があるので、これを行うべきではありません。 hadoopコマンドラインツールを使用して、使用したい論理パス(HDFS内)を使用して、HDFS内のファイルのコピー/移動/読み取りを行います。 HDFS内のこれらのパスは、ローカルのデータノードのストレージに使用したパスに結びつける必要はありません(これを行う理由または利点はありません)。

+0

私は今すぐファイルを見ることができますが、/ usr/local/myhadoop-tmpディレクトリに直接格納され、/ usr/local/myhadoop-tmp/dfs/dataには格納されません。私はなぜか分からない。これは私が見るものです:-rw-r -r-- 1 chandeln supergroup 9322974 2013-10-17 17:06 /usr/local/myhadoop-tmp/python-tutorial.pdf – user2325154

+0

それは私が見ることができないことを意味します/ usr/local/myhadoop-tmp/dfs/data /ディレクトリに移動してls -lコマンドを実行すると、私のローカルファイルシステム上のファイルは? – user2325154

+0

@ user2325154私は詳細な説明を追加しました。 – cabad

関連する問題