Your SlideShare is downloading. ×
0
Amebaサービスにおける
Hadoopおよび関連プロダクトの活用
- WebDB Forum 2011 -
株式会社サイバーエージェント
アメーバ事業本部
Ameba Technology Laboratory
福田 一郎
2
株式会社サイバーエージェント
名前 : 福田一郎 (フクダ イチロー)
所属 : 株式会社サイバーエージェント
アメーバ事業本部
Ameba Technology Laboratory(新卒4年目)
• Ameba Pigg運用,開発
• ...
アメーバサービス
4
株式会社サイバーエージェント
ブログ主な数値
【月間ページビュー】
289.0億 PV
【Ameba会員数】
1823万 ID
【アメーバピグユーザ数】
935万 ID
(2011年9月末時点)
5
株式会社サイバーエージェント
アメーバピグ
6
株式会社サイバーエージェント
ピグライフ
7
株式会社サイバーエージェント
モバイルゲーム
9月末時点:18タイトル
Ameba Technology Laboratory
9
株式会社サイバーエージェント
2011年4月 秋葉原に開設
メンバー:11名(10月末時点)
@秋葉原ダイビル8階
概 略
10
株式会社サイバーエージェント
ログ解析
基盤
インキュベーション
ラボラトリ 検索
2010年4月 2008年末 2010年2月
2011年4月
Ameba
Technology
Laboratory
大量データを集約的に扱う組織
設立の...
11
株式会社サイバーエージェント
推薦 フィルタリング
ログ解析
データマイニング検索
ブログ
ニュース profile
大規模
分散処理
(ログ解析基盤)
なう
pigg ピグライフ
モバイル
ゲーム
メッセージ
ぐるっぽブログ
ブログ ア...
アメーバ と Hadoop
13
株式会社サイバーエージェント
アメーバピグ
(HDFS)
アクセス解析(0.13.1 → 0.20.1)
pico
(Amazon EMR,
Pig)
Hadoop使用実績
ログ解析基盤 Patriot
15
株式会社サイバーエージェント
ログ解析基盤としての機能 解決策
ログファイルの集約 HDFS
ログデータの構造化 Hive
独自DSL
ログの集計 Map/Reduce
Hive
集計サマリの表示 WebUI(通称:CIC)
アドホック集...
16
株式会社サイバーエージェント
NameNode SecondaryNN
NNバックアップ
JobTracker
23232323台台台台
DataNode,
TaskTracker
システム構成
10101010台台台台
DataNode...
Hive & HUE
18
株式会社サイバーエージェント
•Apacheプロジェクト
•Facebookが開発
•SQLライクな言語(HiveQL)
Hive
•Clouderaが開発
•Hadoop用Web UI
•Hiveクエリを投げられる
HUE
19
株式会社サイバーエージェント
Hive
Hive
Driver
(Compiler, Optimizer, Executor)
Thrift Server
Web
Interface
JDBC ODBC
Metastore
CLI
Hiv...
20
株式会社サイバーエージェント
HiveQL
CREATE TABLE pigg_login
( time STRING, ameba_id STRING, ip STRING)
partitioned by(dt STRING)
ROW ...
21
株式会社サイバーエージェント
HUE
22
株式会社サイバーエージェント
Patriot WebUI
Flume + HBaseを用いた
準リアルタイム集計システム
Stinger
24
株式会社サイバーエージェント
• 集計をほぼリアルタイムに行いたい
• サービス施策の効果をすぐに確認したい
• ログ収集を効率化したい
Flume
• オープンソースログ(イベント)収集システム
• Clouderaが開発
Agent
...
25
株式会社サイバーエージェント
Flume
• リアルタイムに近い形でHDFSにログ書き込みができる
• Logical Node
• 「Source」と「Sink」の組み合わせ
Agent
Tail
Source
SinkLogFile
...
26
株式会社サイバーエージェント
HBase
• Google BigTableをモデルとした分散カラム指向データストア
• HDFSにランダムRead/Write機能を追加
• Facebook Messagesで大規模に利用されている
デ...
27
株式会社サイバーエージェント
アーキテクチャ
Zookeeper
Client HMaster
Region
Server
Region
Server
Region
Server
Read/Write
Region割り当て
ヘルスチェック...
28
株式会社サイバーエージェント
特徴
• 書き込みスループットが高い
• 大容量データを扱える
• Hadoop Map/Reduceをサポート
• 高可用性
• 強い一貫性
• カウンタ(incrementColumnValue,chec...
29
株式会社サイバーエージェント
Stinger システム構成
node + soket.io HBaseクラスタ
pollingpush
flume agent
log
flume collector
increment
flume mas...
HBaseを用いた
グラフ構造を扱うデータストア
Hornet
31
株式会社サイバーエージェント
これまで
• グラフ構造は基本的にMySQLを使って管理していた
• マスタの分散が難しい
• シャーディング管理が煩雑
※ グラフ構造データ
• ブログチェックリスト
• なうのフォロー、フォロワー
• ピ...
32
株式会社サイバーエージェント
目的
• 大規模なグラフデータに対して高速に追加・更新処理ができる
• シンプルなクエリを高速に(隣接ノードが取れれば良い)
• オンライン処理
データモデル
• プロパティグラフ
NameNameNameN...
33
株式会社サイバーエージェント
アーキテクチャ
HDFS
Client
Gateway
HBase
Gateway Gateway
Hornet
RPC
34
株式会社サイバーエージェント
RowKeyの設計
Row Key Column Key Value
“1,FOLLOW,OUTGOING” g:2 date=2011/1/12
g:3 date=2011/4/20
“2,FOLLOW,I...
まとめ
36
株式会社サイバーエージェント
• 定型集計,解析
• 非定型集計,解析
• リアルタイム集計,解析
• オンライン処理向けデータストア
Hadoop関連プロダクト適用範囲の拡大
• Hive,HBase,Zookeeper
• Flume...
37
株式会社サイバーエージェント
• ご質問などあれば是非!
企業ブース
• ご相談下さい
• akb-lab@cyberagent.co.jp
• fukuda_ichiro@cyberagent.co.jp
研究向けデータのご提供
• 本...
ありがとうございました
Upcoming SlideShare
Loading in...5
×

Webdb2011 hadoop

1,996

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,996
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Webdb2011 hadoop"

  1. 1. Amebaサービスにおける Hadoopおよび関連プロダクトの活用 - WebDB Forum 2011 - 株式会社サイバーエージェント アメーバ事業本部 Ameba Technology Laboratory 福田 一郎
  2. 2. 2 株式会社サイバーエージェント 名前 : 福田一郎 (フクダ イチロー) 所属 : 株式会社サイバーエージェント アメーバ事業本部 Ameba Technology Laboratory(新卒4年目) • Ameba Pigg運用,開発 • ログ解析基盤 「Patriot」設計,開発,運用 • Ameba Technology Laboratory 研究室長 【Twitter】 @toutou 【はてなID】 id:ICHIRO 自己紹介 過 去 現 在
  3. 3. アメーバサービス
  4. 4. 4 株式会社サイバーエージェント ブログ主な数値 【月間ページビュー】 289.0億 PV 【Ameba会員数】 1823万 ID 【アメーバピグユーザ数】 935万 ID (2011年9月末時点)
  5. 5. 5 株式会社サイバーエージェント アメーバピグ
  6. 6. 6 株式会社サイバーエージェント ピグライフ
  7. 7. 7 株式会社サイバーエージェント モバイルゲーム 9月末時点:18タイトル
  8. 8. Ameba Technology Laboratory
  9. 9. 9 株式会社サイバーエージェント 2011年4月 秋葉原に開設 メンバー:11名(10月末時点) @秋葉原ダイビル8階 概 略
  10. 10. 10 株式会社サイバーエージェント ログ解析 基盤 インキュベーション ラボラトリ 検索 2010年4月 2008年末 2010年2月 2011年4月 Ameba Technology Laboratory 大量データを集約的に扱う組織 設立の経緯
  11. 11. 11 株式会社サイバーエージェント 推薦 フィルタリング ログ解析 データマイニング検索 ブログ ニュース profile 大規模 分散処理 (ログ解析基盤) なう pigg ピグライフ モバイル ゲーム メッセージ ぐるっぽブログ ブログ アプリmkt Ameba全般 領 域
  12. 12. アメーバ と Hadoop
  13. 13. 13 株式会社サイバーエージェント アメーバピグ (HDFS) アクセス解析(0.13.1 → 0.20.1) pico (Amazon EMR, Pig) Hadoop使用実績
  14. 14. ログ解析基盤 Patriot
  15. 15. 15 株式会社サイバーエージェント ログ解析基盤としての機能 解決策 ログファイルの集約 HDFS ログデータの構造化 Hive 独自DSL ログの集計 Map/Reduce Hive 集計サマリの表示 WebUI(通称:CIC) アドホック集計,解析 HUE
  16. 16. 16 株式会社サイバーエージェント NameNode SecondaryNN NNバックアップ JobTracker 23232323台台台台 DataNode, TaskTracker システム構成 10101010台台台台 DataNode, TaskTracker データセンタBデータセンタA Batch MySQLレプリ HinemosWeb,API,Ganglia, Nagios,Hudson, Puppet MySQL, HUE Hadoopクラスタ Amebaサービス ログ転送 MySQLレプリ ログ整形 Hiveインポート Hiveクエリ 集計データ ブラウザで 確認 Adhocクエリ (HUE経由) CDH3u0
  17. 17. Hive & HUE
  18. 18. 18 株式会社サイバーエージェント •Apacheプロジェクト •Facebookが開発 •SQLライクな言語(HiveQL) Hive •Clouderaが開発 •Hadoop用Web UI •Hiveクエリを投げられる HUE
  19. 19. 19 株式会社サイバーエージェント Hive Hive Driver (Compiler, Optimizer, Executor) Thrift Server Web Interface JDBC ODBC Metastore CLI HiveQL
  20. 20. 20 株式会社サイバーエージェント HiveQL CREATE TABLE pigg_login ( time STRING, ameba_id STRING, ip STRING) partitioned by(dt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘¥t’ STORED AS SEQUENCEFILE; SELECT p.age, count(distinct l.ameba_id) FROM pigg_login l JOIN profile p on (l.ameba_id=p.ameba_id) WHERE l.dt= ‘2011-11-04‘ GROUP BY p.age; • SQLライクに記述できるので便利 • Map/Reduceを直接書いた場合と同等の実行速度
  21. 21. 21 株式会社サイバーエージェント HUE
  22. 22. 22 株式会社サイバーエージェント Patriot WebUI
  23. 23. Flume + HBaseを用いた 準リアルタイム集計システム Stinger
  24. 24. 24 株式会社サイバーエージェント • 集計をほぼリアルタイムに行いたい • サービス施策の効果をすぐに確認したい • ログ収集を効率化したい Flume • オープンソースログ(イベント)収集システム • Clouderaが開発 Agent Agent Agent Agent Collector Collector Master HDFS
  25. 25. 25 株式会社サイバーエージェント Flume • リアルタイムに近い形でHDFSにログ書き込みができる • Logical Node • 「Source」と「Sink」の組み合わせ Agent Tail Source SinkLogFile Processor Source Sink Matcher Collector Source HDFS Sink HDFS
  26. 26. 26 株式会社サイバーエージェント HBase • Google BigTableをモデルとした分散カラム指向データストア • HDFSにランダムRead/Write機能を追加 • Facebook Messagesで大規模に利用されている データモデル • Table • RowKey • ColumnFamily • Column • Timestamp SortedMap<RowKey, List< SortedMap<Column, List<Value, Timestamp>>>>> • Table • RowKey順にソート • Row • カラム順にソート • Column • バージョン順にソート
  27. 27. 27 株式会社サイバーエージェント アーキテクチャ Zookeeper Client HMaster Region Server Region Server Region Server Read/Write Region割り当て ヘルスチェック データの場所を 登録 データの場所を 問い合わせ
  28. 28. 28 株式会社サイバーエージェント 特徴 • 書き込みスループットが高い • 大容量データを扱える • Hadoop Map/Reduceをサポート • 高可用性 • 強い一貫性 • カウンタ(incrementColumnValue,checkAndPut)
  29. 29. 29 株式会社サイバーエージェント Stinger システム構成 node + soket.io HBaseクラスタ pollingpush flume agent log flume collector increment flume master websocket • リアルタイム集計のデモアプリケーション • ブログのIDごとのリアルタイムPV集計 • 閲覧者属性ごとのPV集計
  30. 30. HBaseを用いた グラフ構造を扱うデータストア Hornet
  31. 31. 31 株式会社サイバーエージェント これまで • グラフ構造は基本的にMySQLを使って管理していた • マスタの分散が難しい • シャーディング管理が煩雑 ※ グラフ構造データ • ブログチェックリスト • なうのフォロー、フォロワー • ピグとも • etc・・・ HBaseを使ってみるのはどうだろうか? (検証中)
  32. 32. 32 株式会社サイバーエージェント 目的 • 大規模なグラフデータに対して高速に追加・更新処理ができる • シンプルなクエリを高速に(隣接ノードが取れれば良い) • オンライン処理 データモデル • プロパティグラフ NameNameNameName FukudaFukudaFukudaFukuda Age 28 1 NameNameNameName SuzukiSuzukiSuzukiSuzuki Age 28 2 NameNameNameName YasudaYasudaYasudaYasuda Age 26 3 datedatedatedate 2011/01/022011/01/022011/01/022011/01/02 Follow Friend Friend
  33. 33. 33 株式会社サイバーエージェント アーキテクチャ HDFS Client Gateway HBase Gateway Gateway Hornet RPC
  34. 34. 34 株式会社サイバーエージェント RowKeyの設計 Row Key Column Key Value “1,FOLLOW,OUTGOING” g:2 date=2011/1/12 g:3 date=2011/4/20 “2,FOLLOW,INCOMING” g:1 date=2011/1/12 “2,FOLLOW,OUTGOING” g:3 date=2011/2/9 “3,FOLLOW,INCOMING” g:1 date=2011/4/20 g:2 date=2011/2/9 1 2 3 datedatedatedate 2011/01/122011/01/122011/01/122011/01/12 Follow Follow Follow
  35. 35. まとめ
  36. 36. 36 株式会社サイバーエージェント • 定型集計,解析 • 非定型集計,解析 • リアルタイム集計,解析 • オンライン処理向けデータストア Hadoop関連プロダクト適用範囲の拡大 • Hive,HBase,Zookeeper • Flume • Flume NG:大きめの改修か? • Hadoop0.23 • Map/Reduce以外のアルゴリズムサポート(BSP,MPIなど?) • NameNode,JobTrackerの大幅な変更 • Hadoopディストリビューション:CDHなど Hadoop関連プロダクトの充実
  37. 37. 37 株式会社サイバーエージェント • ご質問などあれば是非! 企業ブース • ご相談下さい • akb-lab@cyberagent.co.jp • fukuda_ichiro@cyberagent.co.jp 研究向けデータのご提供 • 本日14時~ • 推薦まわりをメインテーマに 技術報告セッション
  38. 38. ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×