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

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

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

おすすめ記事

記事・ニュース一覧