OK..試してみましょう..Hadoop を構成すると、HDFS であるローカル FS の上に仮想 FS が配置されます。HDFS はデータをブロック (ローカル FS に似ていますが、ローカル FS に比べてはるかに大きい) として複製された方法で保存します。ただし、HDFS ディレクトリ ツリーまたはファイル システムの名前空間は、ローカル FS のものと同じです。HDFS へのデータの書き込みを開始すると、最終的にはローカル FS にのみ書き込まれますが、そこで直接見ることはできません。
一時ディレクトリは、実際には 3 つの目的を果たします。
1- namenode がそのメタデータを保存するディレクトリ。デフォルト値${hadoop.tmp.dir}/dfs/name
があり、 で明示的に指定できますdfs.name.dir
。dfs.name.dir を指定すると、namenode メタデータは、このプロパティの値として指定されたディレクトリに格納されます。
2- HDFS データ ブロックが保存されるディレクトリ。デフォルト値${hadoop.tmp.dir}/dfs/data
があり、によって明示的に指定できますdfs.data.dir
。dfs.data.dir を指定すると、HDFS データは、このプロパティの値として指定されたディレクトリに格納されます。
3- セカンダリ namenode がチェックポイントを格納するディレクトリ。デフォルト値は${hadoop.tmp.dir}/dfs/namesecondary
であり、 で明示的に指定できますfs.checkpoint.dir
。
そのため、これらのプロパティの値として適切な専用の場所を使用して、よりクリーンなセットアップを行うことを常にお勧めします。
データの特定のブロックへのアクセスが必要な場合、dfs.name.dir ディレクトリに保存されているメタデータが検索され、特定のデータ ノード上のそのブロックの場所がクライアントに返されます (これは、クライアントの dfs.data.dir ディレクトリのどこかにあります)。ローカル FS)。次に、クライアントはそこから直接データを読み取ります (書き込みにも同じことが当てはまります)。
ここで注意すべき重要な点の 1 つは、HDFS は物理 FS ではないということです。これはむしろ、ローカル FS のように単純にブラウズできない、ローカル FS 上の仮想抽象化です。これを行うには、HDFS シェル、HDFS WebUI、または利用可能な API を使用する必要があります。
HTH