「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
※ 参考:分散処理 > プロダクト
Hadoop MapReduce? †
Hadoop YARN †
アーキテクチャ †
Hadoopは、以下の4つのモジュールによって構成されている。
Hadoop Common †
他のモジュールから共通して利用されるライブラリ群。
Hadoop Distributed File System (HDFS) †
HDFS:Hadoop独自の分散ファイル・システム。
- 大きなファイルを複数のブロック単位(デフォルトで128MB)に分割して、それらを複数のノードにまたがり格納する。
- そのブロックの複製(レプリカ)を複数の異なるノードに格納することで信頼性を確保している。そのため、各ホストはRAIDを必要としない。
- 通常のOSにマウントできないことは制限のひとつであったが、Hadoop 2.2以降のバージョンではNFSv3マウントに対応している。
NameNode? †
マスターの役割を担当する。
- HDFSに関するメタ情報(ファイルとブロックの対応関係など)を保持し、各DataNodeが実データをブロック単位で保持する。
- 単一障害点であったが、Hadoop 2.2でHA機能が実装されたため単一障害点ではなくなった。
DataNode? †
スレーブの役割を担当する。
- レプリケーション数のデフォルトは3で、この場合、2つのデータを同じラック内のノードに、残り1つを異なるラック内のノードに保存する。
- 数1000台規模までスケールアウト可能。その場合、数10PB規模のデータを格納できる。
Hadoop Yet Another Resource Negotiator (YARN) †
を担当。
課題 †
- リソース管理の効率化
- Hadoop 1系までのMapReduceエンジンにおけるスレーブ(TaskTracker)ではMapタスク用、
Reduceタスク用にそれぞれスロットが用意されており、そこにMapReduceの各タスクが割り当てられる。
- ここで、Mapタスク用のスロットに空きがない場合は、Reduceタスク用のスロットに空きがあったとしても
Mapタスクをこれ以上割り当てることができず、TaskTrackerのリソース使用率が低下する問題があった。
機能 †
Hadoop 1系までのMapReduceからクラスタのリソース管理、ジョブスケジューリングを分離したもの。
などの様々な分散処理フレームワークが動作する。
Hadoop MapReduce? †
- MapReduceの実装。
- 可能な限り入力データを保持するDataNodeと同一ノードでMapタスクが実行されるようにスケジューリングされる。
- これにより、大規模データ処理においてもネットワークの負荷を抑えることが可能である。
ファイル・システム †
HDFS以外のファイル・システムもサポートしている。
- Amazon Simple Storage Service (S3)
- OpenStack? Swift
- Microsoft Azure
- FTP、HTTP、およびHTTPS経由で
アクセス可能なファイル・システム
MRv1 †
MapReduceエンジンはひとつのJobTrackerを持ち、
クライアントはこのJobTrackerに向けてMapReduceジョブを投入する。
MRv2 †
JobTracker? †
旧マスタ(リソース管理、ジョブスケジューリング)ノード
TaskTracker? †
旧スレーブ(割り当てられた処理の実行)ノード
- TaskTrackerが停止するか、実行中のタスクがタイムアウトすると、その部分のタスクは再スケジュールされる。
ResourceManager? †
投入されたMapReduceジョブを管理するノード。
NodeManager? †
MapReduce用に特化したスロットではなく、
より汎用化したコンテナ単位でリソースを割り当てる。
ApplicationMaster? †
MapReduceを含む各アプリケーション用に
それぞれ専用のApplicationMaster?が実行される。
- Mapタスク、Reduceタスクの割り当てやタスクの進捗管理を担当する。
エコシステム †
分散処理フレームワーク †
分散処理エンジン †
分散ストリーム処理 †
DWH、データストア †
HBase、Kudu †
ノーチラス・テクノロジーズが開発した、
Hadoop用の開発・運用フレームワーク。
参考 †
Wikipedia †
MapReduce? †
Google File System(GFS) †
gihyo.jp … 技術評論社 †
Hadoopはどのように動くのか
Hadoopの設計と実装~並列データ処理系Hadoop MapReduce? †
計算機クラスタのためのリソース管理基盤 Hadoop YARN †
Hadoopの歴史 †