OpenStack ahara
を使ったデータ分析基盤を作った話
CyberAgent, Inc
Makoto Hasegawa
自己紹介
サイバーエージェント アドテク本部にてデータセンター運用や
Private Cloud(OpenStack)を構築・運用したりしてます
昨年は OpenStack Summit (Vancouver and Tokyo) で登壇させて頂きました
いろいろな所でちょこちょこ発表させて頂いたりしています
Makoto Hasegawa
@makocchi
https://www.facebook.com/makocchi0923
アドテク本部について
インターネット広告において、広告配信の最適化やメディアの収益最大化という
観点からアドテクノロジーの重要度が高まっています。
サイバーエージェントではアドテクノロジー分野における
これらのサービスについて各子会社を通じ開発しておりましたが、
各サービスの開発部門を横断して組織化する専門部署として
アドテク本部が設立されました。
アドテク本部について
ある日の会話
「データ分析の共通基盤みたいなの作れないかな?」
「気軽に構築できる Hadoop 環境あるといいよね」
「必要に応じて作ったり消したりしたいよね」
(そういや EMR(※) みたいなこと実現する Sahara なんてもんあるよなぁ
でも Sahara なんて運用できる気しないし動くかも怪しいし、
触りたくないな、、、黙っとこ)
※ AWS の Elastic Map Reduce
ある日の会話
「なんか OpenStack Sahara ってのがあるらしいよ!」
「え それいいじゃん」
「うち OpenStack 既に動かしてるし、イケるっしょ」
(!?)
ある日の会話
「Sahara イケるっしょ」
ある日の会話・続
「リリース 2ヶ月後 ね」
(!? サーバーとかまだ買ってないよ??)
というわけにはいかず・・・
Sahara 始めました
(やむをえず)
OpenStack Sahara とは
・主に開発しているのは Mirantis
Stackalytics によれば Mitaka での Commit は約 50% が Mirantis
(http://stackalytics.com/?release=mitaka&module=sahara-group&metric=commits)
・OpenStack 上で EMR のような
データ処理サービスを実現
できるコンポーネント
OpenStack Sahara とは
・Dashboard(Horizon) も提供されており
Hadoop 環境を容易に構築することができる
・内部的には Heat で Cluster 環境が作成される
・各種ベンダーの Hadoop 環境が plugin で提供されている
CDH / MapR / Ambari / etc …
OpenStack Sahara とは
ちなみに・・公式(OpenStack.org)による
Sahara の完成度はというと・・・
OpenStack Sahara とは
OpenStack Sahara とは
※ 2016/07 時点
ま、こんなの気にしてたら OpenStack なんてやってられないよね
というわけでさっそく
Sahara 作ってみました
アドテク本部の OpenStack
Nevera (Icehouse)
Diana (Juno)
Mille (Liberty)
Gaia
Acacus (Mitaka)
OpenStack Sahara in Adtech
・今回のデータ分析基盤用に新規で OpenStack を構築
Codename : Acacus (サハラ砂漠の世界遺産より拝借)
・せっかくの新規構築なので最新の Mitaka で構築
・使用 Plugin は CDH(Cloudera) と MapR
・Compute の Core 数は約 5000 core (HT込み)
OpenStack ahara
ハマったポイント
OpenStack Sahara ハマったポイント
・圧倒的情報量の無さ
・Sahara を使えるようになるまでのステップが多い
> Sahara 用の image を作成
> その image を Glance に登録し register (Glance の tag 付け)
> Node Group Template をいくつか作成
> Node Group Template を組み合わせて Cluster Template を作成
> これでやっと Cluster を起動できる
・Horizon 上で CDH の Template を作成/編集する時に 1 分待たされる
OpenStack Sahara ハマったポイント
・各 plugin は基本的な Cluster の設定しか提供されていない
> 例えば CDH で言えば Kerberos 対応や MapR で言う Secure Cluster の機能等
> なので plugin は独自に Customize!!
・各 plugin は最新の version に対応していない
> 例えば CDH で言えば現在の最新は 5.7.1 だが Sahara は 5.5.0 までしか提供されていない
> なので plugin は独自に Customize!!
> って書いてる間に 5.8.1 が出た
OpenStack Sahara ハマったポイント
・各種 Hadoop ベンダーの plugin が提供されているが、
ベンダーからのサポートが受けられるとは限らない
> 某 M 社は実際に Sahara に commit したりしているので Sahara に関しては協力的だった
> 某 C 社はそんなものウチで作ってるわけじゃないし知らん サポートもできん (的なニュアンス)
実際に Sahara に対しては今まで commit 0
> 某 H 社はわかりません
・customize した plugin の debug がしんどかった
> Cluster ができあがるまで 40 min とか
> そもそも Sahara 用の Glance image のサイズがデカイ(4GB とか)ので
instance が起動するのも時間がかかる (remove_unused_base_images = false で回避する)
> 起動までは早くできたけど起動後の setup 処理で 20 min かかる
と、まぁいろいろ苦労しましたが
OpenStack Sahara まとめ
・構築 phase は手間がかかって大変だが、構築してしまえば
各種ベンダーの Hadoop 製品を手軽に扱うことができる
・前述の通り、ちょっと複雑な設定をしようとすると plugin の改造が必要
なので開発環境とかテスト環境に適しているのでは
・もっと利用者が増えてくればプロジェクトの質も上がるのではと期待
・現在は Sahara で作成された Cluster 上でいろいろな job を実行させて
動作確認中(これから本格的に使われていく予定)
OpenStack Sahara in Adtech
ちゃんと貢献したよ!
サイバーエージェント アドテク本部 Tech Blog 始めました
http://adtech.cyberagent.io/techblog/
一緒にアドテク本部を
盛り上げてくれる方
絶賛募集中です
OpenStack ahara
を使ったデータ分析基盤を作った話
CyberAgent, Inc
Makoto Hasegawa

OpenStack Saharaを使ったデータ分析基板を作った話 - OpenStack最新情報セミナー(2016年7月)