2

私はHadoopアーキテクチャに少し混乱しています。

  1. Hadoop Namenodeにはどのような種類のファイルメタデータが保存されていますか?Hadoop wikiによると、Namenodeはシステムの名前空間全体を格納しているとのことです。最終変更時刻、作成時刻、ファイルサイズ、所有者、権限などの情報はNamenodeに保存されていますか?

  2. datanodeはメタデータ情報を保存しますか?

  3. Namenodeは1つだけですが、メタデータデータがサーバーの制限を超えることはできますか?

  4. ユーザーがHadoopからファイルをダウンロードしたい場合、Namenodeからファイルをダウンロードする必要がありますか?以下のWebからのアーキテクチャ画像を見つけました。これは、クライアントがデータノードにデータを直接書き込むことができることを示していますか?それは本当ですか? ここに画像の説明を入力してください

ありがとう!!!!!!!

4

6 に答える 6

6

次の説明は、HDFS アーキテクチャをよりよく理解するのに役立つと思います。Name ノードは FAT (ファイル アロケーション テーブル) + ディレクトリ データのようなものであり、Data ノードはダム ブロック デバイスであると見なすことができます。通常のファイル システムからファイルを読み取る場合は、ディレクトリに移動してから FAT に移動し、関連するすべてのブロックの場所を取得して読み取る必要があります。HDFS でも同じことが起こります。ファイルを読み取りたい場合は、Namenode に移動し、指定されたファイルが持つリスト ブロックを取得します。ブロックに関するこの情報には、この情報が存在するデータノードのリストが含まれます。その後、データノードに移動し、それらから関連するブロックを取得します。

于 2011-06-08T11:09:05.090 に答える
2
  1. name ノードの fsimage はバイナリ形式です。「オフライン イメージ ビューアー」を使用して、fsimage を人間が読める形式でダンプします。このツールの出力を pig またはその他のツールでさらに分析して、より意味のあるデータを得ることができます。

http://hadoop.apache.org/hdfs/docs/r0.21.0/hdfs_imageviewer.html

于 2011-06-08T11:36:21.120 に答える
1
  1. はい
  2. いいえ、ブロック自体は別として
  3. はい、小さなファイルがたくさんある場合
  4. いいえ、ファイルに関する情報はネームノードにあり、ファイル自体はデータノードにあります (データノードは理論的には同じマシン上にある可能性があり、多くの場合、小さなクラスター上にあります)
于 2011-06-07T18:34:29.297 に答える
1

3) ファイル数が非常に多い場合、単一の Namenode ではすべてのメタデータを保持できません。実際、これは HDFS の制限の 1 つです。異なる namenodes によって提供される異なる名前空間に分割することで、この問題に対処することを目的とした HDFS フェデレーションを確認できます。

4)

Read process :    
a) Client first gets the datanodes where the actual data is located from the namenode 
b) Then it directly contacts the datanodes to read the data

Write process : 
a) Client asks namenode for some datanodes to write the data and if available Namenode gives them 
b)Client goes directly to the datanodes and write
于 2011-12-10T15:21:40.883 に答える
0
  1. はい、NameNode がこれらを管理します。また、多くの場合、このデータは fsimage に保存され、ローカル ディスクにあるファイルを編集します。

  2. いいえ、すべてのメタデータは NameNode によって維持されます。そのため、メタデータを維持するためのデータノードの負担が少なくなります。

  3. プライマリ NameNode は 1 つだけです。メタデータのサイズの制限を管理するために言ったように、データは頻繁に fsimage に保存され、チェックポイントによって編集されます。

  4. NameNode からファイル情報を取得すると、クライアントは DataNode に接続できます。

于 2016-02-09T22:52:10.887 に答える
0

質問番号 4 について。クライアントはデータを Datanode に直接書き込みます。ただし、DataNode に書き込む前に、Namenode と通信して、どの DataNode とどのブロックに書き込むかなどのメタデータを取得する必要があります。

于 2014-08-07T21:33:37.607 に答える