HDFS クラスタには、マスターとスレーブのパターンで動作する 2 種類のノードがあります:
1. NameNode(マスター)と
2.DataNodes(スレーブ/ワーカー)の数。
HDFS NameNode
1. NameNodeは、HDFSアーキテクチャフレームワークの主要な中心コンポーネントです。 NameNodeはマスターノードとも呼ばれます。 HDFS Namenodeは、データブロック数、ファイル名、パス、ブロックID、ブロック位置、レプリカ数、およびスレーブ関連の設定など、メタデータを格納します。 このメタデータは、データの高速検索のためにマスターのメモリで利用可能です。
4. NameNodeは、高速応答時間のために、メモリ内のファイルシステムの名前空間に関連するメタデータを保持します。 したがって、より多くのメモリが必要です。 そのため、NameNodeの構成は、信頼性の高い構成で展開される必要があります。 NameNodeは、スレーブノードを維持管理し、タスクを割り当てます。
6. NameNodeは、与えられたファイルのデータブロックを含むすべてのDataNodeの知識を持ちます。
7. NameNodeは、何百または何千ものデータノードと調整し、クライアントアプリケーションから来る要求を提供します。
メタデータ情報を格納するために、2つのファイル ‘FSImage’ と ‘EditLog’ が使用されています。 Name Node起動時のファイルシステムのスナップショットです。 イメージファイル」です。 FsImageはファイルシステムの名前空間全体を含み、NameNodeのローカルファイルシステム上にファイルとして格納されます。 また、ファイルシステム内の全てのディレクトリとファイルのinodeをシリアライズした形で格納されています。 各 inode はファイルやディレクトリのメタデータの内部表現です。
EditLogs: 最新の FsImage 上でファイルシステムに対して行われたすべての変更が含まれます。 NameNodeはクライアントからcreate/update/deleteのリクエストを受け取ります。
HDFSにおけるNameNodeの機能
1.NameNodeは、クライアントからcreate/update/deleteのリクエストを受け取り、まずeditsファイルに記録されます。 クラスタに格納されているすべてのファイルのメタデータ(格納されているブロックの位置、ファイルのサイズ、パーミッション、階層など)を記録します。 ファイルシステムのメタデータに対して行われた変更を記録します。 たとえば、HDFSでファイルが削除されると、NameNodeは直ちにこれをEditLogに記録します。
4. クラスタのすべてのDataNodeから定期的にハートビートとブロックレポートを受信し、DataNodeが生きていることを保証します。 データノードに障害が発生した場合、NameNodeは新しいレプリカのために新しいデータノードを選択し、ディスク使用量のバランスをとり、データノードへの通信トラフィックを管理します。 Hadoop HDFSアーキテクチャでは、データノードはHDFSに実際のデータを格納します。 データノードは、クライアントの読み取りおよび書き込み要求の処理に責任を持ちます。 DataNodeは、NameNodeにそのノードに格納されているファイルとブロックに関する情報を送信し、すべてのファイルシステム操作のためにNameNodeに応答します。 DataNodeが起動すると、それが担当しているブロックのリストと一緒にNameNodeに自分自身を発表します。
7. DataNodeは通常多くのハードディスクスペースで構成されています。 実際のデータはDataNodeに格納されるためです。
HDFSにおけるDataNodeの機能
1. 実際のデータはデータノードに格納されます。 データノードはファイルシステムのクライアントからの低レベルの読み書きの要求を実行します。 名前ノードがデータノードから10分間ハートビートを受信しない場合、名前ノードはそのデータノードが死んだとみなし、他のデータノードでブロックレプリケーションのプロセスを開始します。 すべてのデータノードがHadoopクラスタ内で互いに通信できるように同期され、
iを確認します。 システム内のデータのバランスをとる
ii. 高いレプリケーションを維持するためにデータを移動する
iii. 必要なときにデータをコピーする
。