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

4,376 views

Published on

0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,376
On SlideShare
0
From Embeds
0
Number of Embeds
1,341
Actions
Shares
0
Downloads
60
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

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

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

×