hadoop~yahoo! japanの活用について~

37
Hadoop Yahoo! JAPANの活用について~ 2011/06/30 ヤフー株式会社 R&D統括本部 角田直行

Upload: yahoo

Post on 31-May-2015

2.115 views

Category:

Technology


1 download

DESCRIPTION

IDCフロンティアで行われたNOAHユーザー会での発表資料になります。

TRANSCRIPT

Page 1: Hadoop~Yahoo! JAPANの活用について~

Hadoop~Yahoo! JAPANの活用について~

2011/06/30

ヤフー株式会社 R&D統括本部

角田直行

Page 2: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止1

自己紹介

角田 直行(かくだ なおゆき)

R&D統括本部 プラットフォーム開発本部検索開発部 開発3

–2005年 ヤフー株式会社入社

–Yahoo!地図

–Yahoo!路線

–Yahoo!検索

–2011年現在、検索プラットフォームを開発中

Page 3: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止2

Agenda

–Introduction

–Hadoopとは

–事例紹介

–まとめ

Page 4: Hadoop~Yahoo! JAPANの活用について~

Introduction

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止3

Page 6: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止5

莫大なデータ量との闘い

–成長を続けていくにはアクセスログ解析やデータマイニングなど

が必須

–億単位の行 or テラバイト級のデータを短時間で処理したい

毎日処理しなければならない

Page 7: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止6

Yahoo! JAPANが扱うデータ

–ログは1日分だけでもかなりのサイズになる

–行数を数えるだけでも数日かかる

Page 8: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止7

解決策としてのHadoop

–大規模な処理、大容量のデータを扱うには

1台のサーバでは不可能

–マルチコアによる並行処理アプローチは複雑すぎる

–数十~数千台規模で簡単にスケールする環境が不可欠

この発表では、Yahoo! JAPANがHadoopをどう活用しているか

について事例を交えて解説します

Page 9: Hadoop~Yahoo! JAPANの活用について~

Hadoopとは?

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止8

Page 10: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止9

Hadoopとは

–大規模分散処理システム

–Google MapReduce/GFSを論文を元に実装

–処理時間が数時間以上かかるようなバッチ処理に向いている

→ Webのように、即座に結果が返るような

リアルタイム処理には不向き

–Javaで書かれ、オープンソースとして公開

Page 11: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止10

Hadoopとは

大きくMapReduceとHDFS(分散ファイルシステム)に分かれる

Page 12: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止11

Hadoop MapReduce

長時間かかる巨大な処理を複数台のマシンに分散

・・・

・・・

Page 13: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止12

Hadoop HDFS

・巨大なファイルを複数台に分割・複数サーバの各HDDを1つのHDDのように扱える

Page 14: Hadoop~Yahoo! JAPANの活用について~

Hadoopの事例紹介

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止13

Page 15: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止14

Hadoopを活用している会社

など・・・増え続けています!

Page 16: Hadoop~Yahoo! JAPANの活用について~

Yahoo! Inc.での事例紹介

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止15

Page 17: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止16

Hadoop at Yahoo! Inc

–Hadoopユーザ、テスター、コミッターの数が最も多い

–Hadoopのコードのおよそ70%がYahoo!からのもの

–Hadoopのクラスタ、台数が最も多い

– 多数のクラスタがあり、合計42000台以上

– 1クラスタにつき最大4000台

– コアコミッターを中心に、Horton Worksという会社を立ちあげ

– Yahoo!独自に進化させるのではなく、オープンソースとして

のHadoopにより貢献するため

Page 18: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止17

Yahoo! Inc トップページ

Page 19: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止18

Yahoo! Inc トップページ

広告最適化

検索インデックス

Page 20: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止19

Yahoo! Inc トップページ

広告最適化

コンテンツ最適化

検索インデックス

スパムフィルター

コンテンツ管理

コンテンツ最適化

Page 21: Hadoop~Yahoo! JAPANの活用について~

Yahoo! JAPANでの事例

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止20

Page 22: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止21

Hadoop at Yahoo! JAPAN

様々なYahoo! JAPANのサービスを支えるプラットフォームで、

Hadoopが使われています

アクセスログデータプラットフォーム

検索プラットフォーム

レコメンデーションプラットフォーム

広告プラットフォーム

地域APIプラットフォーム

Page 23: Hadoop~Yahoo! JAPANの活用について~

–例えば、Yahoo! JAPANの検索サービスでは・・・

22

Yahoo! JAPANの検索サービス

検索ログプラットフォーム

検索プラットフォーム(ABYSS)

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

検索のログをHadoopで分析してデータ提供

サービスに検索機能を提供

Page 24: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止23

Yahoo!検索

–検索ログプラットフォームのデータを元に様々な機能を提供

関連検索ワード→

キーワード入力補助→

ショートカットの表示制御→

Page 25: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止24

Yahoo!検索 リアルタイム検索

–検索プラットフォーム(ABYSS)が検索機能を提供

–Twitter社が提供した、リアルタイムのツイートデータを、ABYSS

側に送ってインデクシング

Page 26: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止25

ABYSSでのHadoopの役割

– 検索データのストレージ

– 検索インデックスを生成

– 検索データを加工して提供(マージ処理)

サービス担当

Gateway

Hadoop

Ops/Direct API Admin UI

Crawler Workflow

UserDB

Index

フロントエンド

Page 27: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止26

検索インデックス生成

Hadoop Server

サービス担当者ユーザ

サービス側フロントエンドサーバ

Index Server

ABYSS

Page 28: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止27

検索インデックス生成

Hadoop Server

サービス担当者

1. 検索インデックス

の元になるデータをアップロードユーザ

サービス側フロントエンドサーバ

Index Server

ABYSS

Page 29: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止28

検索インデックス生成

Hadoop Server

サービス担当者

1. 検索インデックス

の元になるデータをアップロード

2. Hadoopで検索インデックス生成

ユーザ

サービス側フロントエンドサーバ

Index Server

ABYSS

Page 30: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止29

検索インデックス生成

Hadoop Server

サービス担当者

1. 検索インデックス

の元になるデータをアップロード

2. Hadoopで検索インデックス生成

3. 検索インデックス

をインデックスサーバに転送

ユーザ

サービス側フロントエンドサーバ

Index Server

ABYSS

Page 31: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止30

検索インデックス生成

Hadoop Server

サービス担当者

1. 検索インデックス

の元になるデータをアップロード

2. Hadoopで検索インデックス生成

3. 検索インデックス

をインデックスサーバに転送

ユーザ

サービス側フロントエンドサーバ

4. サービス側のサ

ーバを通じてユーザが検索可能に

Index Server

ABYSS

Page 32: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止31

Hadoop at ABYSS

– Hadoop クライアントとサーバに分けて運用を行っている

– サーバは開発用クラスタと、検証用クラスタ、本番用クラスタがある

– 本番用クラスタは、DRBD+Heartbeatで冗長化

– 別サーバからHadoop ClientでJobの実行や、ファイルの転送を行ってい

Hadoop Client Hadoop Client Hadoop Client

開発用クラスタ 検証用クラスタ 本番用クラスタ

Page 33: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止32

Hadoopの事例まとめ

–データ解析、データマイニング

– ログ解析、レコメンデーション、テキストマイニングなど

–検索関係

– 検索インデックス生成、ランキング計算など

→大量のデータを読み込んで解析をする処理、大量の計算が必

要な「バッチ処理」に向いている

Page 34: Hadoop~Yahoo! JAPANの活用について~

まとめ

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止33

Page 35: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止34

まとめ

–Hadoopは大規模なデータを複数のマシンに分散して

処理できるプラットフォーム

–Hadoopを使う企業は増え続けていて、不可欠な技術に

なりつつある

–Hadoopは、大規模データを扱う処理や、大量の計算が必要な

バッチ処理に向いている

–Yahoo! JAPANはこれからもHadoopを活用していきます

Page 36: Hadoop~Yahoo! JAPANの活用について~

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止35

Hadoopの連載記事

–いまさら聞けないHadoopとテキストマイニング入門

–Hadoopの基礎や、セットアップ方法を載せています

http://www.atmarkit.co.jp/fjava/rensai4/hadoop_tm01/01.html

Page 37: Hadoop~Yahoo! JAPANの活用について~

ご静聴ありがとうございました!

Copyright © 2010 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止36