濃縮還元オレンジニュース

PFIとNTTレゾナント,Hadoopに関する解析資料を公開

この記事を読むのに必要な時間:およそ 1 分

Preferred Infrastructure(PFI)とNTTレゾナントが共同でHadoopに関する調査を行い,その報告書がPDFにて公開されています。

HadoopはGoogleのMapReduce編注をJavaで実装したオープンソースプロダクトで,報告書ではGoogleが持っている機能をHadoopではどう実装されているのかを,該当ソースのポインタを含めて記載しています。

Googleの分散ファイルシステムであるGFS(Google File System)は,HadoopではHDFS(Hadoop DistributedFile System)にて実現しています。GFSが提供しているファイルシステム機能のほとんどはHDFSでも提供しています。ただし,調査を行ったHadoop0.16.4では「ファイルのランダム書き込み」「ファイルのアトミックな追記」は実現できていません(後者は0.19.0にてサポート予定)。報告書ではHadoopの問題として,複数マシンで稼働する際,スレーブにあたるDataNodeには耐障害性を備えていますが,マスタにあたるNameNodeは障害が発生すると完全なサービス停止状態になり,SPOF(Single Point of Failure)であることを挙げています。ただ,執筆時点(2008年9月)の最新バージョン0.18.0ではNameNodeの弱点を補強する対応がいくつか施されています。

GoogleのMapReduceに関して,Hadoopでも主要機能はほとんどサポートされています。HadoopはJavaで記述されていますが,HadoopStreamingを用いるとPerlやPythonなど任意のプログラミング言語で記述することもできます。耐障害性に関する機能は一部未実装ですが「エラーレコードのスキップ」に関しては0.19.0にてサポート予定です。

また,「ソースコード解析」という章ではHadoopのコードリーディングに役立つ情報がまとめられています。最後に性能評価として12台のマシンを使って100Gバイトのデータの読み込み,書き込み,ソートのベンチマークを行っています。資料に記載のグラフを見ると,マシン台数に比例してスループットが向上しています。

このように,耐障害性にてGoogleのMapReduceに比べて未サポートの機能があったりなど若干劣る面がありますが,実用性は十分に備わっていることがわかります。

編注)
本誌Vol.47の連載「Recent Perl World」(174ページ)に,MapReduceの解説が掲載されています。ご参照ください。

URLhttp://preferred.jp/pub/hadoop.pdf

著者プロフィール

角田直行(かくだなおゆき)

普段はお仕事でPHPやJavaを使ってWeb開発をしています。一部でセレブエンジニアとか言われてますが,全然セレブじゃありません。

コメント

コメントの記入