山下と申します。
1億のファイルと60PBの容量まで扱える、メモリ1GB=1PBの容量と言う考え方は、
今後Hadoop環境を構築するときに役立ちますね。
数千ノードの環境を構築するときにHDFS関係で注意することを考えてみました。
(1) ネットワーク構成
100台程度の環境作ったときはあまり意識しませんでしたが、数千台クラスになると
定期的なDataNodeからの通信だけで帯域を結構消費しそうです。
後は、レプリケーションのようなDataNode間の通信もポイントになりそうです。
ノード-スイッチ間よりもスイッチ-スイッチ間がボトルネックにならないよう
ネットワークを設計しなければなりません(拡張のしやすさを考慮して)。
(2) NameNodeのヒープメモリ
60GBのヒープメモリをNameNodeで割り当てる話であれば、普通のGCもそうですが
Full GCの発生を抑えることが必要です。
(3) NameNodeのログ
1億もファイルを扱えるとなればauditログは非常に膨大になります。
また、DataNode異常による切り離し時に発生するレプリケーションなどで出力される
ブロック情報に関するログも膨大です。
NameNodeのログ出力に関しても要素単位でログレベルを変えるなど工夫が必要です。
# 後は当然ですが、データセンタについてもラックの耐加重、電力、配線、熱といった
# 課題を解決しないとなりません。
後、複数のNameNodeと言う考え方はHDFS-1052などで議論されていますが、
方向性はまだまだ定まっていないようです。
以上です。
Shinichi YAMASHITA :
shin1...@gmail.com