• Like
Yahoo! JAPANを支えるビッグデータプラットフォーム技術
Upcoming SlideShare
Loading in...5
×

Yahoo! JAPANを支えるビッグデータプラットフォーム技術

  • 2,877 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,877
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
36
Comments
0
Likes
6

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Yahoo! JAPANを支える ビッグデータ プラットフォーム技術 Privileged and Confidential 遠峯 康夫 データソリューション本部 ヤフー株式会社 1
  • 2. 自己紹介 遠峯 康夫(とおみね やすお) 事業戦略統括本部 データソリューション本部 データインフラ開発部 2010年 新卒入社 Hadoopクラスタ立ち上げの部署に配属 2012年 データソリューション配属 Hadoop、リアルタイム処理基盤などを担当 Privileged and Confidential 2
  • 3. is Privileged and Confidential 3
  • 4. … … … Privileged and Confidential 4
  • 5. Privileged and Confidential … … … あらゆるジャンルの ビッグデータを保有 5
  • 6. 目次 月間総ページビュー数 (2013年7-9月平均) Privileged and Confidential 6
  • 7. 年間ユニーク検索クエリ数 (Yahoo! JAPAN調べ) Privileged and Confidential 7
  • 8. ビッグデータはユーザーのために利活用 ビッグデータはユーザーの課題解決につながる アクセス解析 ページビュー 効果測定 広告ログ データフィード 検索クエリ データ 処理 ! レコメンデーション 購買履歴 ターゲティング ユーザー属性 日本語処理 ・ ・ ・ マルチメディア処理 Privileged and Confidential 8
  • 9. 利活用事例 サービス改善 Privileged and Confidential 9
  • 10. 利活用事例 サービス改善 縦22ピクセル 縦28ピクセル Privileged and Confidential 10
  • 11. 利活用事例 サービス改善 縦22ピクセル 縦28ピクセル Privileged and Confidential 11
  • 12. 利活用事例 ターゲティング広告 閲覧 ¥ 検索キーワード 購買 PR 興味関心を推定し 最適な広告を掲出 広告 閲覧/クリック … Privileged and Confidential 12
  • 13. 利活用事例 レコメンデーション Privileged and Confidential 13
  • 14. 利活用事例 キーワード補助入力 単なる検索量のみではない 様々なパラメータ Privileged and Confidential 14
  • 15. 利活用事例 音声アシスト(音声認識、意図解析) Privileged and Confidential 15
  • 16. 利活用事例 画像認識 Privileged and Confidential 16
  • 17. 利活用事例 マーケットインテリジェンス パズル&ドラゴンズ(パズドラ) Privileged and Confidential 17
  • 18. 利活用事例 マーケットインテリジェンス パズル&ドラゴンズ(パズドラ) 艦隊これくしょん~艦これ~ Privileged and Confidential 18
  • 19. 利活用事例 マーケットインテリジェンス Privileged and Confidential 19
  • 20. 利活用事例 マーケットインテリジェンス Privileged and Confidential 20
  • 21. 利活用事例 感情分析 Twitterのつぶやきを解析 “ネガティブ”,”ポジティブ” の割合をグラフ化 Privileged and Confidential 21
  • 22. 利活用事例 ビッグデータレポート Privileged and Confidential 22
  • 23. 利活用事例 都道府県別の議席獲得予測 42都道府県で獲得政党が一致 Privileged and Confidential 23
  • 24. 目次 どのようなシステムでデータを 処理しているのか? Privileged and Confidential 24
  • 25. Yahoo! JAPANデータインフラ概要 生成 格納・処理 収集 利活用 ・ ・ ・ Storm Privileged and Confidential 25
  • 26. 本日はHadoopの話を中心に 生成 格納・処理 収集 利活用 ・ ・ ・ Storm Privileged and Confidential 26
  • 27. Yahoo! JAPANの Hadoopについて Privileged and Confidential 27
  • 28. Yahoo! JAPANの Hadoopについて の前に・・・ Privileged and Confidential 28
  • 29. Hadoopはもちろん重要、でも・・・ 本当に データを使い倒すには Hadoop以外の周辺システムとの連携が必要 Privileged and Confidential 29
  • 30. Hadoop周辺システムのご紹介 生成 格納・処理 収集 利活用 ・ ・ ・ Storm Privileged and Confidential 30
  • 31. Hadoopを中心とした周辺システムとの連携 DataHighway データ入力 一次加工データ 分析用データ連携 Storm Privileged and Confidential 31
  • 32. DataHighwayについて DataHighway データ入力 一次加工データ 分析用データ連携 Storm Privileged and Confidential 32
  • 33. DataHighwayについて DataHighway とは? Yahoo! JAPANで利用しているログ収集プロダクト 全てのWeblogを回収する仕組み 大量のデータを処理できる環境に運ぶために 必須の仕組み DataHighwayの規模 ・回収先:約8,500台 ・データ転送量:約13TB/day (圧縮済み) Privileged and Confidential 33
  • 34. Stormについて DataHighway データ入力 一次加工データ 分析用データ連携 Storm Privileged and Confidential 34
  • 35. Stormについて Stormとは? Twitter社がOSSとして公開した、 分散ストリーム処理プラットフォーム 9/18にApache Incubatorプロジェクト化 (リアルタイムに)逐次流れてくるデータを 即時に処理していこうという仕組み。 Yahoo! JAPANでの活用例 ・各ページのリンクのクリック速報 ・広告改善のための一次データ加工 ・スマートフォンアプリのエラー速報 など Privileged and Confidential 35
  • 36. Teradataについて DataHighway データ入力 一次加工データ 分析用データ連携 Storm Privileged and Confidential 36
  • 37. Teradataについて とは? Teradata社の商用RDBMS 並列分散処理で、高速にSQLを実行できる Yahoo! JAPANでは、 主にアナリストの分析用途として活用 Yahoo! JAPANでの活用例 ・広告レポートの抽出 ・広告モデルの効果測定 など Privileged and Confidential 37
  • 38. Hadoopだけではなく適切な役割分担が必要 ・大規模バッチ処理 ・大規模アドホック処理 ・大量データの蓄積 ・リアルタイム処理 ・逐次流れるデータの一次加工 Storm ・大規模な結合処理 ・高速なアドホック分析処理 Privileged and Confidential 38
  • 39. Yahoo! JAPANの Hadoopについて Privileged and Confidential 39
  • 40. Yahoo! JAPANのHadoopについて – 目次 1. Hadoop構成 2. Hadoop規模 3. Hadoopの特色 4. チューニング事例 5. 機材の選び方 6. 今後の展望 Privileged and Confidential 40
  • 41. Yahoo! JAPANの Hadoop構成 Privileged and Confidential 41
  • 42. Hadoopクラスタの状況 本番系:2クラスタ Production Cluster1 Production Cluster2 開発系:6クラスタ 開発系は本番と比べると非常に小さいクラスタ 次期投入バージョンの検証なども実施 Privileged and Confidential 42
  • 43. エコシステム Oozie,Pig,Hive等のエコシステムを活用 Privileged and Confidential 43
  • 44. Yahoo! JAPANの Hadoopの規模 Privileged and Confidential 44
  • 45. Yahoo! JAPANのHadoop規模 約3,500台 国内最大級 その規模感は? Privileged and Confidential 45
  • 46. Yahoo! JAPANのHadoop規模感 ・1日に故障するサーバ台数 約1.5台/day ・1日にRead/Writeされるデータ量 Read:約750TB/day Write:約60TB/day ・1日に処理されるJobの積算時間 約1,000時間/day Privileged and Confidential 46
  • 47. Yahoo! JAPANの Hadoopの特色 Privileged and Confidential 47
  • 48. Yahoo! JAPANのHadoop特色 400ユーザを超える規模での マルチテナンシー運用 Privileged and Confidential 48
  • 49. どれくらいマルチテナンシー? ・平均同時実行Job数 約40Job ・最大同時実行Job数 120Job超 ・同時最大実行ユーザ数 約30ユーザ Privileged and Confidential 49
  • 50. マルチテナンシーの難しさ いかに安定・公平に マルチテナント運用を行うか Privileged and Confidential 50
  • 51. 状況の可視化 リソース使用状況の可視化 最大能力 使用量 ある一日の利用状況 グラフの色でどの部署(ユーザ)がどの程度利用しているかを可視化 Privileged and Confidential 51
  • 52. 状況の可視化 もちろん、曜日によって使われ方も違う 濃青は主に個人ユーザのアドホック利用 土日はあまり使われていないのがわかる Privileged and Confidential 52
  • 53. マルチテナントでうまく回すために ・利用者による一定の自治 先の可視化グラフをユーザに見せ、 空いている時間帯を自ら選んでもらう。 ・リソースキャパシティの定期的な見直し 部署毎に利用できるリソースの量に違いを持たせる。 利用率などを見て定期的に見直し。 ・スケジューラ設定のチューニング Job同士のリソースの分け方に最適値はない。 トライアンドエラーで最も良いものを探し続ける。 Privileged and Confidential 53
  • 54. Yahoo! JAPANでの チューニング事例 Privileged and Confidential 54
  • 55. チューニングの内容 タスクslot数の最適化 タスクslot数とは? 単純に言うと、どれだけHadoopで 並列処理をさせるかの指標 これを多く出来れば、 同じ機材でより処理効率が高まる。 ここの高さを高くするということ Privileged and Confidential 55
  • 56. そもそもチューニングしようとした訳 H/Wのリソースが 余っていることを発見 今のH/Wに合った最適な設定値を探していた CPU,DiskI/O,Memory Netowork,etc… 様々な指標を確認 そのうち、全ての指標に 若干の余裕があることがわかる Privileged and Confidential 56
  • 57. それならば・・・ 1ノードでもっとTaskが動かせる! かもしれない しかし、既に本番稼動しているクラスタ チューニングして問題がでないか・・・? テストクラスタでは 規模が大きく異なるため、 必ずしも参考にはならない。 ※ネットワークトラフィックなど テスト:本番 = 1:50~100 くらいの差 Privileged and Confidential 57
  • 58. まずは再度現状の把握 チューニング前に様々な指標を確認 ・当然、個別のノードの指標(CPU,Mem,Disk等)は重要 ・個別のノードだけでなく、 システム全体の指標(スイッチのトラフィック等)もとても重要 Privileged and Confidential 58
  • 59. 気をつける項目の一例 気をつける項目の一例 ・個別のノード(計算ノード側) ・CPU(特にwaitIO) ・Memory ・Disk(IObusy, queue) ・LoadAverage ・インターフェーストラフィック ・システム全体(スイッチ、マスタノード等) ・スイッチトラフィック ・マスタノードリソース(CPU, Mem, etc…) 個別のノードの指標に集中しすぎると、 システム全体のデグレに気付かない可能性がある Privileged and Confidential 59
  • 60. 本番でのテスト実施 一部のラックに対して チューニング実施 ラックスイッチの限界などを測定するためにも ラック単位で設定値を変える必要がある タスクslotの増加により 新しくボトルネックが 生まれてしまう可能性に注意 Privileged and Confidential 60
  • 61. 結果の検証 デグレされていないかの確認 グラフでのH/W指標の確認はもちろん 既存Jobのジョブ実行時間、タスク実行時間なども比較 タスク実行時間 未チューニングノード <<< チューニングノード となっていないか Privileged and Confidential 61
  • 62. チューニングの一例 – 結果 チューニングの成果 チューニング実施 実施後の最大性能 50%向上 Privileged and Confidential 62
  • 63. 機材の選び方 Privileged and Confidential 63
  • 64. 「コモディティ」が大切 コモディティな機材を選ぶ コモディティ = 低性能・低価格 コモディティ = 最高のコスパ ディスク:CPUコア数 メモリ:CPUコア数 これらの比率に特に注意して選定 HBase等、使うエコシステムは事前に考えておく Privileged and Confidential 64
  • 65. Yahoo! JAPANで使っている機材の一例 メモリ : 64GB CPU : 12コア24スレッド ディスク : 3TB × 4ディスク ディスクIOがネックになると言うのがHadoopのセオリー Yahoo! JAPANでも当初それに倣い構成を計画 定期的な計測により、ディスクを重視しない(CPU重視) のYahoo! JAPANの現在に合った構成に 処理に応じた適切な構成を選択する必要がある Privileged and Confidential 65
  • 66. 今後の展望 Privileged and Confidential 66
  • 67. 今後の課題 安定性 基本的に安定的に運用できているが、 単一障害点(SPOF)があるのがネック 拡張性 MapReduceだけでは 今後の処理ニーズに対応しきれない 新しいフレームワークの模索の必要性 Privileged and Confidential 67
  • 68. 今後の展開の一つのケースとして Hadoop-2.xの導入 ・NameNode-HA 単一障害点(SPOF)であったNameNodeの可用性が向上 より信頼のおけるシステムへ ・YARN JobTrackerというSPOFのあったアーキテクチャを改良 全くJobが動かせなくなる可能性を低減 MapReduceのみならない多様なフレームワークの可能性 10/15にHadoop-2.2.0-GAリリース! Privileged and Confidential 68
  • 69. Ready? Privileged and Confidential 69
  • 70. 目次 どのようにしてビッグデータを 全員がデータに触れることが重要 利活用しているのか? データは一部の人だけのものではない Privileged and Confidential 70
  • 71. 目次 どのようにしてビッグデータを 全員がデータに触れられる環境 利活用しているのか? Privileged and Confidential 71
  • 72. まとめ ・Yahoo! JAPANではあらゆるジャンルの ビッグデータを保有・活用 ・ビッグデータを徹底的に活用するため Hadoopを中心としたデータ処理システム を構築、運用 ・データを効果的に利活用するには 技術面だけでなく組織面での整備も必要 Privileged and Confidential 72
  • 73. データで、ユーザーファーストを実現 Privileged and Confidential 73
  • 74. Privileged and Confidential 74