「IIJ GIO Hadoopソリューション」提供開始しました

カテゴリー: サービス情報, ビッグデータ   パーマリンク
このエントリーをはてなブックマークに追加

初めまして。アプリケーションソリューション部の高舘と申します。
2012年10月15日、IIJ GIO上でビッグデータを並列分散・高速処理する環境を提供する「IIJ GIO Hadoopソリューション」をリリースしました。

IIJ GIO×Hadoop

Hadoopとビッグデータ

最初に、並列分散環境を提供するソフトウェア「Hadoop」について軽く触れておきます。Hadoopの提供する機能を以下の2点にまとめました。

  • 複数のノードに分散してデータを配置するファイルシステム(HDFS)
  • 複数のノードに配置したデータを並列に処理するフレームワーク(MapReduce)

上記のHDFSとMapReduceを合わせたものがHadoopですが、HDFSをストレージとしてのみ利用し、MapReduceを利用しないパターンもあります。

Hadoopに適合する処理として挙げられるのが、大規模データの処理です。いわゆる「ビッグデータ」を処理対象として扱います。ビッグデータというとTB、PB、あるいはEBクラスの容量をイメージしますが、数百GBのデータを対象にしてもHadoopの恩恵を受けることができます。

Hadoopはデータと処理を複数ノードに分散することによって、大規模データの格納と処理の高速性を実現しています。より大規模なデータを処理対象とする場合はノード数を拡大する必要があります。IIJ GIOを利用するメリットのひとつが、このノード数の拡大にあります。

なぜクラウドか

前述したようなビッグデータを処理する際、ボトルネックとなるのがディスクI/O性能です。あるサーバのローカルディスクのスループットが約100MB/secであった場合、単純計算で1TBのデータを読み込むのに約160分程度はかかってしまうことになります。一方、Hadoopを使用して10台のノードで並列に読み込むことができれば、1,000MB/secのスループットになり、約16分で1TBのデータを読み込むことができます。(各ノードに振り分ける処理のオーバーヘッドは除いて考えた場合です)

しかし実際の業務では、将来的なデータ容量や、そのデータを処理する時間を予測できないケースが多いと思われます。そのため、設備を確保したもののオーバースペックで無駄にコストがかかってしまったり、逆に設置スペースが足りなくなったりすることもあります。

従って、データ容量の拡大や計算能力の向上が必要になった段階で、ノード数を増加させるのが最適な取り組みと言えます。IIJ GIOを利用すれば、クラウド環境上でノード数の増減に柔軟に対応できるのです。

Hadoopプラットフォームの構築・運用

私達はIIJ GIO上でHadoopを構築・運用してきた実績から、その手間や難しさを痛感してきました。Hadoopプラットフォームをより良いかたちでご提供できないか、という考えがIIJ GIO Hadoopソリューションが誕生したきっかけでもあります。いくつかの事例を用いて、本ソリューションのポイントを挙げてみます。

柔軟な構成パターン

Hadoopでシステムを構築する際、Hadoopディストリビューションや導入する周辺ソフトウェアの組み合わせによってシステムで実現できる範囲が決まります。本ソリューションでは、特徴・機能の異なる3つのHadoopディストリビューション(CDH、Cloudera Enterprise、Greenplum MR)をはじめ、モニタリングツール(Ganglia)、Hadoopジョブ管理ツール(Oozie)、DSL/ライブラリ(Pig/Hive/Cascading/Asakusa Framework)などの周辺ソフトウェアを柔軟に組み合わせることが可能です。お客様の要件に基づき、最適な構成をご提案することも可能です。

大量ノードの管理

Hadoopは管理対象のノード数が多くなる傾向にあります。大量ノードに対して手作業を行うのは大変ですし、オペレーションミスが発生する可能性も高くなります。本ソリューションではプロビジョニングツール(Puppet)をご提供し、わずかなコマンド実行で大量ノードの設定をすることを可能にしました。設定内容はPuppetで一元管理されているため、ノード間での設定差異も発生しません。

クラウド環境での処理性能

MapReduce処理のボトルネックはディスクI/Oであり、HadoopはそのI/O負荷をノード間で分散させるように設計されています。しかし、共有ディスク構成の仮想サーバでは、ノード間でリソースの競合が発生し性能が出ません。Hadoopの標準的なベンチマークツールであるgridmix2で検証した結果、物理的に独立した占有サーバであるIIJ GIOコンポーネントサービス Xシリーズは、ほぼ同スペックのCPU/メモリが割り当てられた共有ディスク構成の仮想サーバの6倍の性能を示しました。この結果より、IIJ GIO HadoopソリューションではXシリーズを採用するのが最適と判断しました。更に、Xシリーズ向けにHadoopパラメータの最適化を行うことで処理性能を30%近く改善し、より少ない台数で性能を引き出すことに成功しています。

Hadoopが本格的な普及期に入り、多くの利用実績が生まれている一方、実際の構築・運用に関わる情報量はそれほど多くありません。従って、専門的な技術や経験を要する人員の確保は必須になりますが、Hadoop構築・運用にリソースを割くよりも、本来の目的であるデータ分析などの業務を優先するべきと考えます。IIJ GIO Hadoopソリューションに構築・運用をお任せいただくことで、お客様の業務をサポートできるのではないかと思います。

以上、IIJ GIO Hadoopソリューションについて簡単にご説明しました。
ぜひご検討いただければと思います。

(アプリケーションソリューション部 高舘)

コメントは受け付けていません。