kikumotoのメモ帳

インフラ・ミドル周りを中心に、興味をもったことを適当な感じで。twitter : @takakiku

分散ファイルシステムを調べたい - Hadoop Distributed File System (HDFS)

HDFS について調べてみた。使ってみたわけではない。

1. ファイルを分割して保存するかどうか

分割保存する。

2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか

受け付けられる。

3. サーバーやディスクが落ちたときにデータが失われないか

失われない。複製してくれる。ファイル毎に複製数を指定できる。

4. サーバーやディスクが落ちたとき、もしくはそれらが復帰したときに自動的にデータが修復されるか

サーバが落ちると複製数を満たすように自動修復する。またデータが壊れていたら自動修復する。

5. データ量の偏りがないように自動的にデータを再配置することができるか

できる予定みたい。

6. メタデータサーバの冗長化機能はあるか

ない。NameNode は SPOF。Linux-HA + DRBD で対策可能だろうか??

7. 読み込みの負荷分散

ファイルが分割されているという観点で負荷分散している。また複製のどれかから読み込むので、複製の一つに集中することもない感じ。

8. 書き込みの負荷分散

ファイルを分割して保存するとい観点で負荷分散している。

9. 動的なサイズの拡張

できる。

10. 動的なサイズの縮小

たぶんOK。サーバが落ちれば、残ったサーバ群で自動修復するみたいだから、離脱したノードの分だけ単純にクラスタ全体のサイズは減るのだと思う。

11. 実装形態(言語とか、カーネルパッチの必要性とか、利用する側の言語とか)

Javaカーネルパッチ不要。クライアントは、Java、C。コマンドラインツールを使うことでもアクセスできる。

12. mount できるか

できない。 contribute 扱いで可能みたい。

13. random access 可能か

不可。

14. 実績はどんなものか

Yahoo! など、最近の実績は豊富である。

15. ライセンス

Apache License V2.0