📖
Lesson2. HDFS
学ぶ前の知識レベル
学んだこと
正しくはHadoop Distributed File System の略。
基本的な考え方
- データを、一定サイズ[2]のブロックに分けてノードに分散して持つ
- あるノードが壊れてもデータが消失しないように、ひとつのブロックを複数のノードに持つ
アーキテクチャ
HDFSのアーキテクチャ概要(汚い絵ですみません)
Name Node
- Data Node のマスタ。
- Data Node に分散して保持されたデータのメタデータを持つ。
- メタデータは、スナップショットであるFSimageと、差分を持つ editlog からなる。
Secondary Name Node
- Name Node がRAMに持っている FSimageとEditlogの内容をコピーしてきて、自分自身(=Secondary Name Node)のディスクに書き出す
👆この仕組みによって、Name Node が死んだとき用のバックアップをとりつつ、Name Node は常にRAMで動くことができる(I/Oからフリーになれる)ので速く動くということなのかな。
※ セカンダリという名前が紛らわしいが、Name Node の待機系みたいな意味合いでは断じてないので注意!!!
Data Node
- データを実際に格納するノード。
- 性能はしょぼくてOK
👆しょぼい Data Node をいっぱいつなげて水平負荷分散できることが、Hadoopがスケーラブルといわれるゆえんなのかしら。
学ぶために使ったリソース
親記事のリソースに加え、以下の記事を参考にしました。
まだわかっていないこと
まだ実際に動かしてはいないので概念しか理解していない!
Discussion