openstack saharaを使ったデータ分析基板を作った話 -...
TRANSCRIPT
自己紹介
サイバーエージェント アドテク本部にてデータセンター運用やPrivate Cloud(OpenStack) を構築・運用したりしてます昨年は OpenStack Summit (Vancouver and Tokyo) で登壇させて頂きましたいろいろな所でちょこちょこ発表させて頂いたりしています
Makoto Hasegawa
@makocchihttps://www.facebook.com/makocchi0923
アドテク本部についてインターネット広告において、広告配信の最適化やメディアの収益最大化という観点からアドテクノロジーの重要度が高まっています。サイバーエージェントではアドテクノロジー分野におけるこれらのサービスについて各子会社を通じ開発しておりましたが、各サービスの開発部門を横断して組織化する専門部署としてアドテク本部が設立されました。
アドテク本部について
ある日の会話「データ分析の共通基盤みたいなの作れないかな?」「気軽に構築できる Hadoop 環境あるといいよね」「必要に応じて作ったり消したりしたいよね」(そういや EMR(※) みたいなこと実現する Sahara なんてもんあるよなぁ でも Sahara なんて運用できる気しないし動くかも怪しいし、 触りたくないな、、、黙っとこ)
※ AWS の Elastic Map Reduce
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 in Adtech
・今回のデータ分析基盤用に新規で OpenStack を構築 Codename : Acacus ( サハラ砂漠の世界遺産より拝借 )
・せっかくの新規構築なので最新の Mitaka で構築・使用 Plugin は CDH(Cloudera) と MapR
・ Compute の Core 数は約 5000 core (HT 込み )
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 を実行させて 動作確認中(これから本格的に使われていく予定)
サイバーエージェント アドテク本部 Tech Blog 始めました
http://adtech.cyberagent.io/techblog/
一緒にアドテク本部を盛り上げてくれる方絶賛募集中です今すぐアクセス!