レポート

見えてきたHadoopの“使いどころ”─「Hadoop Hack Night Vol.2」開催

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

8月4日,六本木ミッドタウンのヤフー株式会社にて,今回で2回目となるHadoopをテーマにしたイベント「Hadoop Hack Night Vol.2」が開催された。

Hadoop(ハドゥープ)は,いま注目のクラウドコンピューティングなどに利用されているMapReduce技術が使えるオープンソースソフトウェア。大規模なデータの解析処理などに分散システムを利用したい場合に大きな力を発揮する。

このように注目を集めているHadoopだが,実際に数テラバイト以上といった大容量のデータを処理しなければならないケースはまだそれほど多くない。大きな期待を集めながら「生きた実例」に乏しいのもHadoopをめぐる1つの状況だろう。そこで,今回の「Hadoop Hack Night Vol.2」「ケーススタディで知るHadoopの可能性」と題して,実際に導入実績をもつベンダの技術者に導入事例を元にしたHadoopのメリットや現状の課題を語るセッションとなった。

オープニングセッション:Yahoo! JAPANにおけるHadoop利用について

最初のセッションは,Hadoop開発のお膝元。Yahoo! Japanの技術者による発表。第1回に続いて登場のヤフー(株)R&D統轄本部の吉田一星氏が,まずYahoo! JapanでのHadoopの利用方法について簡単に紹介を行った。

ヤフー(株)R&D統轄本部 吉田一星氏

ヤフー(株)

Yahoo検索サービスでは,検索ログプラットフォームにHadoopが利用されている。検索ログから各種サービスに関連するデータを取り出す際に使われるもので,Hiveを改造したソフトウェアを使ってデータを取り出しているという。この検索ログプラットフォームを使い,たとえば検索サービスの関連検索ワード,「急上昇ワードランキング」の計算や,都道府県別,世代別の検索ランキングの抽出などが行われている。レコメンデーションプラットフォームにもHadoopを使い,YBBポータルサイトなどで利用されている。こうした仕組みはオークション,ショッピングにも展開予定とのこと。

またモバイル検索では,検索データを溜めるストレージとしてHadoopが使われ,検索ランキングの計算などに利用されている。さらに,地図検索では,検索結果の住所の中でどれを一番上表示させるかといった処理や,同じ店舗やビルの一意性を保つための処理にもHadoopが使われるという。

Hadoopを使った開発

次に,これらのシステムの開発の流れについて説明があった。

「ABYSS」というのが,ヤフー社内の検索サービスをホスティングするプラットフォームで,このシステム内の検索データのストレージとしてHadoopが使われ,解析などにMapReduceを使っている。Hadoopはクライアント/サーバ型で運用することで,他のサーバにあるHadoopクラスタのファイルへのアクセスやジョブの実行が簡単に行えるという。Hadoop Serverは開発用,検証用,本番用クラスタが用意され,それぞれHadoop Clientを使って別サーバからJobの実行やファイルの転送を行う。ファイルの転送にはHTTPのGETなどの機能を使う場合もある。

開発はJavaのみで行われており,開発環境はEclipseにHadoop Clientが入った状態になるEclipse Pluginを組み込んで使用する。この環境から開発用のHadoopクラスタにジョブを実行させる。またVMwareを使って仮想サーバ上にHadoopクラスタを立ち上げる場合もあるとのこと。

こうした構造で利用する場合,Hadoop ServerへのアカウントがなくてもHadoop Clientを使ってどこからでもデータにアクセスすることができ,セキュリティ上の問題が発生してくる。これについては,現在はネットワークポートのアクセス制限や,利用者に誓約書を書いてもらうなど,外部の手段を使って対応している。

これに関連して,Hadoopの実行ユーザ,グループアカウントが基本的にUNIXなどのログインアカウントが使われている点,Hadoop Clientの設定でこれとは別に任意のユーザアカウントを設定することもできる点などが指摘された。

Hadoop with Security+Oozie

セキュリティの話題を受け,スピーカを同社R&D統轄本部の古宮陽明氏にバトンタッチして,Hadoopのセキュリティ機能の現状とYahoo! Japanにおける対応が紹介された。

ヤフー(株)R&D統轄本部 古宮陽明氏

ヤフー(株)

まずHadoopの現状として,ユーザ,ノードレベルでの認証がなく,ファイルシステムであるHDFSのパーミッションのみ。ただしこれも認証の必要はないのでなりすましが可能である。サービスレベルのアクセス制御も不完全で,こちらもなりすましが可能とのこと。ホストやネットワークレベルのセキュリティ対策はこれに関係なく必要である。

Hadoop with Securityは,Hadoopに認証,認可,監査の機能が追加されたYahoo!によるセキュリティ強化版のHadpoopである。現在はまだベータ版で動作が不安定なため,セキュリティ機能はオプションとなっており,有効にしなければ使えない。仕様もこれから変更される可能性があるとのこと。

Oozie(ウージー:ビルマ語で「象使い」の意)は,Yahoo!開発によるHadoopのアクションフローを管理できるワークフローエンジン。今後Hadoop with Securityと連動予定のバージョンがApacheに移管される予定となっている。

これらを組み合わせることにより,Hadoopへのアプリケーションのアップロード,ジョブの発行などの操作で,OozieをHadoopのProxyとしてふるまわせることができ,プロセスユーザの変更,Kerberosによるプロセスの相互認証,Token認証などをきめ細かく制御できるようになるという。

さらに,これらを導入した全社規模の「Yahoo! Japan Hadoopクラスタ」を構築する予定があるとのこと。現行Hadoopを使っている機能別クラスタを超えた規模のもので,2011年4月に運用開始を目標としている。

コメント

コメントの記入