Hadoopクラスタ構造
Hadoopクラスタ構造は、複数のノードで構成される分散コンピューティングシステムです。以下がそのコンポーネントです:
- ネームノード(マスターノード): クラスタ全体のメタデータを管理し、ファイルシステムの名前空間、ファイルのディレクトリ構造、アクセス権情報などを含む。ネームノードはメタデータをメモリに格納し、定期的にディスクに永続化したまま書き込む。
- デーノード(データノード):実際のデータブロックの格納を担当します。各デーノードは一部のデータブロックを含み、定期的にネームノードに自分のストレージ容量と健全性状態を報告します。
- ジョブトラッカーはクライアントからのMapReduceジョブを受け取り、それを複数のタスク(タスクトラッカー)に分割して利用可能なノードに割り振る。ジョブトラッカーはまた、タスクの実行状態と進捗状況を監視し、失敗したタスクを再割り当てする。
- JobTrackerから割り当てられたタスクを受信し、ローカルノードで実行するTaskTracker。TaskTrackerはJobTrackerにタスクのステータスを定期的に報告し、JobTrackerからの指示を受け取ります。
- セカンダリネームノード:定期的にネームノードの編集履歴およびメモリーイメージをマージし、新しいイメージファイルを生成して、ネームノードの復旧プロセスを高速化し、データ損失のリスクを低減します。
- クライアント:Hadoopが提供するAPIを使ってクラスターにジョブをサブミットし、実行結果を取得します。クライアントはHadoopクラスターと通信可能な任意のコンピュータです。
これらのコンポーネントはネットワークを通じて相互に通信することで、共同でデータの保存と計算タスクを実行します。Hadoopクラスターの規模はニーズに応じて数ノードから数千ノードまで拡張できます。