Webdb2011 hadoop
Upcoming SlideShare
Loading in...5
×
 

Webdb2011 hadoop

on

  • 2,219 views

 

Statistics

Views

Total Views
2,219
Views on SlideShare
2,219
Embed Views
0

Actions

Likes
2
Downloads
29
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Webdb2011 hadoop Webdb2011 hadoop Presentation Transcript

  • Amebaサービスにおける Hadoopおよび関連プロダクトの活用 - WebDB Forum 2011 - 株式会社サイバーエージェント アメーバ事業本部 Ameba Technology Laboratory 福田 一郎
  • 2 株式会社サイバーエージェント 名前 : 福田一郎 (フクダ イチロー) 所属 : 株式会社サイバーエージェント アメーバ事業本部 Ameba Technology Laboratory(新卒4年目) • Ameba Pigg運用,開発 • ログ解析基盤 「Patriot」設計,開発,運用 • Ameba Technology Laboratory 研究室長 【Twitter】 @toutou 【はてなID】 id:ICHIRO 自己紹介 過 去 現 在
  • アメーバサービス
  • 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 ピグライフ モバイル ゲーム メッセージ ぐるっぽブログ ブログ アプリmkt Ameba全般 領 域
  • アメーバ と Hadoop
  • 13 株式会社サイバーエージェント アメーバピグ (HDFS) アクセス解析(0.13.1 → 0.20.1) pico (Amazon EMR, Pig) Hadoop使用実績
  • ログ解析基盤 Patriot
  • 15 株式会社サイバーエージェント ログ解析基盤としての機能 解決策 ログファイルの集約 HDFS ログデータの構造化 Hive 独自DSL ログの集計 Map/Reduce Hive 集計サマリの表示 WebUI(通称:CIC) アドホック集計,解析 HUE
  • 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
  • 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 HiveQL
  • 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 株式会社サイバーエージェント HUE
  • 22 株式会社サイバーエージェント Patriot WebUI
  • Flume + HBaseを用いた 準リアルタイム集計システム Stinger
  • 24 株式会社サイバーエージェント • 集計をほぼリアルタイムに行いたい • サービス施策の効果をすぐに確認したい • ログ収集を効率化したい Flume • オープンソースログ(イベント)収集システム • Clouderaが開発 Agent Agent Agent Agent Collector Collector Master HDFS
  • 25 株式会社サイバーエージェント Flume • リアルタイムに近い形でHDFSにログ書き込みができる • Logical Node • 「Source」と「Sink」の組み合わせ Agent Tail Source SinkLogFile Processor Source Sink Matcher Collector Source HDFS Sink HDFS
  • 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 株式会社サイバーエージェント アーキテクチャ Zookeeper Client HMaster Region Server Region Server Region Server Read/Write Region割り当て ヘルスチェック データの場所を 登録 データの場所を 問い合わせ
  • 28 株式会社サイバーエージェント 特徴 • 書き込みスループットが高い • 大容量データを扱える • Hadoop Map/Reduceをサポート • 高可用性 • 強い一貫性 • カウンタ(incrementColumnValue,checkAndPut)
  • 29 株式会社サイバーエージェント Stinger システム構成 node + soket.io HBaseクラスタ pollingpush flume agent log flume collector increment flume master websocket • リアルタイム集計のデモアプリケーション • ブログのIDごとのリアルタイムPV集計 • 閲覧者属性ごとのPV集計
  • HBaseを用いた グラフ構造を扱うデータストア Hornet
  • 31 株式会社サイバーエージェント これまで • グラフ構造は基本的にMySQLを使って管理していた • マスタの分散が難しい • シャーディング管理が煩雑 ※ グラフ構造データ • ブログチェックリスト • なうのフォロー、フォロワー • ピグとも • etc・・・ HBaseを使ってみるのはどうだろうか? (検証中)
  • 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 株式会社サイバーエージェント アーキテクチャ 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,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
  • まとめ
  • 36 株式会社サイバーエージェント • 定型集計,解析 • 非定型集計,解析 • リアルタイム集計,解析 • オンライン処理向けデータストア Hadoop関連プロダクト適用範囲の拡大 • Hive,HBase,Zookeeper • Flume • Flume NG:大きめの改修か? • Hadoop0.23 • Map/Reduce以外のアルゴリズムサポート(BSP,MPIなど?) • NameNode,JobTrackerの大幅な変更 • Hadoopディストリビューション:CDHなど Hadoop関連プロダクトの充実
  • 37 株式会社サイバーエージェント • ご質問などあれば是非! 企業ブース • ご相談下さい • akb-lab@cyberagent.co.jp • fukuda_ichiro@cyberagent.co.jp 研究向けデータのご提供 • 本日14時~ • 推薦まわりをメインテーマに 技術報告セッション
  • ありがとうございました