20130313 OSCA Hadoopセミナー

Preview:

DESCRIPTION

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

Citation preview

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

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

2

自己紹介

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

【出身】 鳥取県米子市

【経歴】

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

• Amebaサービスの運用

• Ameba Piggの運用,開発

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

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

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

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

Ameba事業

4

会社概要

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

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

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

代表取締役社長 藤田 晋

1998年3月18日

社 名

本 社

代表者

設 立

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

5

事業内容

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

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

インターネット広告事業

6

Ameba事業 ー PC向けサービス

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

7

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

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

8

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

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

9

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

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

Ameba Technology Laboratory

11

【概略】

Ameba Technology Laboratory

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

• メンバー:約20名

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

12

【領域】

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

大規模データ処理

基盤(Hadoop,HBase)

検索(Solr)

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

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

ブログコミュニティ

アプリ

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

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

ゲームコミュニティ

ブログ

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がキッカケ

15

Patriotで扱うデータ

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

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

ロググラフデータ

会員IDプロフィール

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

課金

PVセッションUserAgent

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

利用しているアプリ情報

HDFSに集約

Hiveを用いて集計

主にレコメンド向け

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

システム構成Amebaサービス

ログ転送(SCP)MySQLレプリ

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

Hadoopクラスタ

ログ整形Hiveインポート

集計サマリをPut(HBase)

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

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

サマリView(自作WebUI)

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

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

17

Patriot利用実態

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

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

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

WebView アドホッククエリ

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

サービス担当エンジニア

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

18

PAC3

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

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

• 設定はRuby DSLで記述

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

• Hive → HBase

• Hive → Hive

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

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に向いたサーバの登場

ネットワークの統合

20

HBaseの利用

• PatriotのサマリDB

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

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

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

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

• Indexも指定可能

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

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

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

列指向分散データストア

21

Hornet(概要)

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

目的

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

データモデル

• プロパティグラフ

Name Fukuda

Age 28

Name Suzuki

Age 282

Name Yasuda

Age 26

date 2012/01/02

Follow

Friend

Friend

22

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

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

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

• ラボ内にコミッター

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

• 検証しているところ

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

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

• 自作

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

23

Hadoopの採用理由

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

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

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

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

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

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

24

CDHの採用理由

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

• インストールが簡単

• NameNode HA• CDH4系から

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

• JobTracker HA• CDH4.2から

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

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

25

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

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

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

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

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

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

• 運用も楽に

• システム監視もできる

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

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

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

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

26

まとめ/将来展望

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

定型処理

Map/ReduceHive

非定型処理

WebUIからのHiveクエリ実行

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

オンライン処理

HBaseFlumeImpala

高度な処理

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

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

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

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

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

の可能性

27

Hadoop採用を検討中の皆様へ

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

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

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

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

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

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

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

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

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

ありがとうございました

Recommended