インタビュー

CDH 5で企業にHadoopのインフラを~米Cloudera CTO

 HadoopのディストリビューションやHadoop関連のソフトウェアを提供しているClouderaのカンファレンス「Cloudera World TOKYO 2013」が、東京で開催された。

 このカンファレンスの基調講演に登壇した米Clouderaの最高技術責任者(CTO)、Amr Awadallah氏に、先日発表されたCDH(Cloudera's Distribution Including Apache Hadoop) 5や今後のHadoopに関しててインタビューを行った。

 Awadallah氏は、エジプトのカイロ大学にて電気工学修士課程を修了後、米国スタンフォード大学にて電気工学博士号を取得。米Yahoo!でHadoopを採用し、稼働させた後、2008年にClouderaの設立・経営に参画した。

 現在は、Clouderaの製品のロードマップや新製品の開発などを行っている。つまり、Hadoopを最も知り尽くした人物の一人といえるだろう。

CDH 5は可用性が高まった

――CDH 5のβ版をリリースされましたが、このディストリビューションは、どのように変わったのですか?

米ClouderaのCTO、Amr Awadallah氏

 CDHは、Apache Hadoopをベースに提供しています。Clouderaでは、2012年にリリースしたCDH 4から、Apache Hadoop 2に取り込まれたさまざまな機能を先行して提供していました。

 Hadoopは、データの処理を行うDataNodeを管理するNameNodeが冗長化されていないことが単一障害点になるといわれていました。Hadoop 2では、NameNodeサーバーをHA化することで、可用性を高めています。

 実は、こういったHDFSの可用性を高める機能は、CDH 4から徐々にインプリメントされていました。このため、CDH 5で初めて入った機能とは言えませんが、企業でHadoopを使う上では非常に重要なポイントになっています。

 また、Hadoop 2で採用されたYARN(Yet Another Resource Negotiator)もCDH 4からテクノロジープレビューとして用意していました。CDH 4のYARNは、実運用には問題はあるが、テストするができるレベルでした。

 CDH 5では、全面的にYARNへ移行を果たします。以前のMapReduce 1.0も利用はできます。ただし、YARNとMapReduce 1.0は同時に動かすことはサポートしていないため、基本的にはYARNへの移行を勧めます。YARNのMapReduce 2.0への移行は、MapReduce 1.0からリコンパイルは必要ないため、開発したコードがそのまま動作すると思います。

 CDH 5のベースとなっているHadoop 2では、以前のHadoopで問題になっていた障害点がすべて冗長化して、信頼性が高まりました。CDH 5ではName Nodeも複数化され、MapReduce 1.0で採用されていたJobTrackerは、高い可用性を持つResource Managerと、Application Masterに置き換えられました。さらに、TaskTrackerは、ノードごとに存在するNode Managerに置き換えられました。

 これらのモジュールは冗長化されているため、Hadoop 1.xのようなトラブルは起きないでしょう。Hadoop 1.xのように、1つのJobが落ちればすべてが落ちるということは、CDH 5ではありません。

 さらにHadoop 2では、MapReduceをYARNに変更することで、システム全体でのリソースの配分コントロールが行えます。

 今後、MapReduce自体は使われなくなると思います。われわれが提供している分散クエリエンジンImpalaは、MapReduceを使っていません。MapReduceを使うと数分かかっていた処理をImpalaなら数秒で処理することができます。また、SQLデータベースへのアクセス機能などもサポートされています。

 10月末にニューヨークで開催されたHadoop Worldで、Apache Sparkのサポートを発表しました。Sparkは、MapReduceよりも数十倍も高いパフォーマンスを実現しています。また機械学習、データマイニングなどに対して、プログラミングしやすくなっています。

 同じデータに対して何度も何度も繰り返してソリューションに収束していくようなアルゴリズムでは、Sparkは非常に優れているのです。

CDH 5では、アナリティックSQL、拡張性、データ管理の3つのポイントで機能アップが果たされている(Cloudera World 2013のカンファレンス資料から抜粋、以下、特に断り書きない場合は同じ)
CDHで採用されたYARN。YARNは、リソース管理をMapReduceから切り離し、ほかのファンクションが利用しやすいように改良されたものだ(Clouderaのセミナー資料より)

(山本 雅史)