20130313 osca hadoopセミナー

28
AmebaサービスにおけるHadoop活用事例 株式会社サイバーエージェント アメーバ事業本部 Ameba Technology Laboratory 福田 一郎

Upload: ichiro-fukuda

Post on 04-Jul-2015

2.925 views

Category:

Technology


3 download

DESCRIPTION

AmebaサービスでのHadoop活用事例を紹介させていただきました。

TRANSCRIPT

Page 1: 20130313 OSCA Hadoopセミナー

AmebaサービスにおけるHadoop活用事例

株式会社サイバーエージェントアメーバ事業本部Ameba Technology Laboratory福田 一郎

Page 2: 20130313 OSCA Hadoopセミナー

2

自己紹介

【名前】 福田一郎(@toutou)

【出身】 鳥取県米子市

【経歴】

• 2008年4月 サイバーエージェント入社

• Amebaサービスの運用

• Ameba Piggの運用,開発

• 2010年3月~ 統合ログ解析基盤Patriot開発

• 2011年4月~ Ameba Technology Laboratory開設@秋葉原• Hadoop,HBase,SolrなどのOSS

• 大規模データ分散処理技術を中心に

株式会社サイバーエージェント

Page 3: 20130313 OSCA Hadoopセミナー

Ameba事業

Page 4: 20130313 OSCA Hadoopセミナー

4

会社概要

株式会社サイバーエージェント

株式会社サイバーエージェント

東京都渋谷区道玄坂一丁目12番1号

代表取締役社長 藤田 晋

1998年3月18日

社 名

本 社

代表者

設 立

加盟団体 新経済連盟一般社団法人ソーシャルゲーム協会一般社団法人モバイルコンテンツ審査・運用監視機構安心ネットづくり促進協議会モバイル・コンテンツ・フォーラム社団法人日本広告業協会インターネット広告推進協議会社団法人日本広告審査機構

Page 5: 20130313 OSCA Hadoopセミナー

5

事業内容

株式会社サイバーエージェント

Ameba事業 ソーシャルゲーム事業

インターネット広告事業

Page 6: 20130313 OSCA Hadoopセミナー

6

Ameba事業 ー PC向けサービス

株式会社サイバーエージェント

Page 7: 20130313 OSCA Hadoopセミナー

7

Ameba事業 ー スマートフォンプラットフォーム

株式会社サイバーエージェント

Page 8: 20130313 OSCA Hadoopセミナー

8

Ameba事業 ー ソーシャルゲーム

株式会社サイバーエージェント

Page 9: 20130313 OSCA Hadoopセミナー

9

Ameba事業 ー コミュニティサービス

株式会社サイバーエージェント

Page 10: 20130313 OSCA Hadoopセミナー

Ameba Technology Laboratory

Page 11: 20130313 OSCA Hadoopセミナー

11

【概略】

Ameba Technology Laboratory

• 2011年4月 秋葉原ダイビル8階に開設

• メンバー:約20名

株式会社サイバーエージェント

Page 12: 20130313 OSCA Hadoopセミナー

12

【領域】

株式会社サイバーエージェント

大規模データ処理

基盤(Hadoop,HBase)

検索(Solr)

データマイニングレコメンド フィルタリング

• 各サービスのログ集約• 準リアルタイムログ収集• 各種指標の集計,結果表示• グラフ構造向けDB• 汎用JSONデータストア

ブログコミュニティ

アプリ

コメントメッセージ掲示板

ブログプロフィールAmebaなうニュース

ゲームコミュニティ

ブログ

Page 13: 20130313 OSCA Hadoopセミナー

Hadoop導入事例

Page 14: 20130313 OSCA Hadoopセミナー

14

Ameba × Hadoop

• 2007年~ アメブロ アクセス解析• Hadoop0.13.1

• MapReduce,HDFS

• 2009年~ Ameba Pigg• ログ集約サーバ(HDFS)

• 2010年~ Patriot• Amebaサービス全体のログ集約,解析基盤

• CDH3系

• Hive

• 2012年~ Hornet• オンライン用途でのグラフデータ構造を扱うデータストア

• CDH4系

• HBase

株式会社サイバーエージェント

Hadoop Conference Japanがキッカケ

Page 15: 20130313 OSCA Hadoopセミナー

15

Patriotで扱うデータ

株式会社サイバーエージェント

属性データ 行動ログアクセス

ロググラフデータ

会員IDプロフィール

各種投稿ゲーム利用アイテム購入

課金

PVセッションUserAgent

コミュニティ系サービスのつながり情報

利用しているアプリ情報

HDFSに集約

Hiveを用いて集計

主にレコメンド向け

Page 16: 20130313 OSCA Hadoopセミナー

16株式会社サイバーエージェント

システム構成Amebaサービス

ログ転送(SCP)MySQLレプリ

【Logサーバ】ログの一時集約

Hadoopクラスタ

ログ整形Hiveインポート

集計サマリをPut(HBase)

レコメンドデータ作成サーバ

アドホックHiveクエリ(自作WebUI)

サマリView(自作WebUI)

【Batchサーバ】Jobスケジューラ

HiveJobをキック ログのリアルタイム転送(Flume)

Page 17: 20130313 OSCA Hadoopセミナー

17

Patriot利用実態

株式会社サイバーエージェント

ゲームコンサル データマイニングエンジニア

ゲーム/コミュニティプロデューサ

WebView アドホッククエリ

課金統括部門マーケティング部門

サービス担当エンジニア

システム連携 Daily定型ジョブ(Hive)だけで7000以上

Page 18: 20130313 OSCA Hadoopセミナー

18

PAC3

• 自作ジョブスケジューラ(Ruby)

• Hiveクエリ単位で依存関係を張ることが可能

• 設定はRuby DSLで記述

• 結果を異なるデータストアに格納する記述が可能• Hive → MySQL

• Hive → HBase

• Hive → Hive

株式会社サイバーエージェント

Page 19: 20130313 OSCA Hadoopセミナー

19

Hadoopクラスタの統合

株式会社サイバーエージェント

Ameba Patriot(CDH3u0)

SPプラットフォームPatriot

(CDH3u3)

統合Patriot(CDH4.2)

ノード:約60台Dell:R410

ノード:約50台Dell:R410

ノード:30台~

Dell:R720xd(2U)【HDD】3TB×12(SATA)300GB×2(SAS/OS)【RAM】64GB【CPU】8コア(HT)×2

Hadoopに向いたサーバの登場

ネットワークの統合

Page 20: 20130313 OSCA Hadoopセミナー

20

HBaseの利用

• PatriotのサマリDB

• Hornet• グラフ構造を扱うデータストア

• 分散Lock機能(Zookeeperを利用)

• JSON Persister• JavaオブジェクトをJSONデータとして永続化するフレームワーク

• Javaオブジェクトを直接save,loadするシンプルなAPI

• Indexも指定可能

• データストア層をHBase ⇔ MySQLと切り替え可能

株式会社サイバーエージェント

低レイテンシでのRead/WriteバックエンドにHDFS

列指向分散データストア

Page 21: 20130313 OSCA Hadoopセミナー

21

Hornet(概要)

株式会社サイバーエージェント

目的

• 大規模なグラフデータに対して高速に追加・更新処理ができる• シンプルなクエリを高速に(隣接ノードが取れれば良い)• オンライン処理

データモデル

• プロパティグラフ

Name Fukuda

Age 28

Name Suzuki

Age 282

Name Yasuda

Age 26

date 2012/01/02

Follow

Friend

Friend

Page 22: 20130313 OSCA Hadoopセミナー

22

その他のHadoop関連プロダクトの利用

• Flume• ログをTailしてHDFSやHBaseに流す

• GrowthForecastでリアルタイムにアクセス数をグラフ化

• ラボ内にコミッター

• Impala• Hiveより高速にクエリ実行が可能

• 検証しているところ

• データマイニングエンジニアが探索的なクエリを実行する(検討中)

• Blackhawk• HBaseをSQLライクな言語で扱うためのフレームワーク

• 自作

株式会社サイバーエージェント

Page 23: 20130313 OSCA Hadoopセミナー

23

Hadoopの採用理由

• Webサービスが生み出すデータは膨大

• ゲーム/コミュニティサービスが次々にリリース• どれだけデータ量が増えるか予想することが難しい

• 利用ユーザ数も増加する(サービスが増えればプロデューサも増える)

• データが増えたらノードを増やせば良い

• エコシステム(関連プロダクト)の充実• HBase,Hive,Zookeeperなど

株式会社サイバーエージェント

Page 24: 20130313 OSCA Hadoopセミナー

24

CDHの採用理由

• 必要となる各種モジュールがパッケージングされている• Hadoop関連プロダクトはVersionを合わせるのが至難の業

• インストールが簡単

• NameNode HA• CDH4系から

• Apacheにも取り込まれるがCDHの方が早くリリースされる

• JobTracker HA• CDH4.2から

• Impalaなど新しいプロダクト• 必要とされるものが積極的に作られ,取り込まれる

株式会社サイバーエージェント

Page 25: 20130313 OSCA Hadoopセミナー

25

Cloudera Enterpriseの採用理由• 2012年下旬から採用している

• CDHに関するサポートを得られる• Hadoop関連プロダクトは多岐にわたる

• Hadoop,HBase,Zookeeper,Hive,Pig ...

• 全てのプロダクトに精通することは不可能に近い

• OSSなのでコミュニティで訊けば良いが...

• Cloudera Manager• Hadoop環境構築がより簡単に

• 運用も楽に

• システム監視もできる

• エンタープライズ向け機能の充実• HA,BDR(バックアップ・ディザスタリカバリ回り),

Navigator(データ監査とアクセス制御)

• BtoCでもオンライン用途でHBaseを使うようになり必要性を感じた

株式会社サイバーエージェント

Page 26: 20130313 OSCA Hadoopセミナー

26

まとめ/将来展望

株式会社サイバーエージェント

定型処理

Map/ReduceHive

非定型処理

WebUIからのHiveクエリ実行

Rなどを用いた高度な分析

オンライン処理

HBaseFlumeImpala

高度な処理

オンラインで高度な分析(ex.Jubatus)

より低レイテンシでのクエリ実行が可能

一連の流れをHadoop関連プロダクトで解決できている

適用範囲拡大が期待される

Hadoop関連プロダクトとして登場 or 連携

の可能性

Page 27: 20130313 OSCA Hadoopセミナー

27

Hadoop採用を検討中の皆様へ

• Hadoopはかなり安定している

• OSS(Apacheライセンス)である

• データ増加への恐怖がなくなる

• 先進技術はHadoopのそばで生まれている

• Hadoopのサポートをする企業の増加

• まずはデータを集められる環境整備

• ニーズは現場からどんどん出てくる• まずやってみる → 共通化など効率を考える

• HBaseも用途によっては非常に有用

株式会社サイバーエージェント

Page 28: 20130313 OSCA Hadoopセミナー

ありがとうございました