More Related Content Similar to OSC2012 OSC.DB Hadoop (20) OSC2012 OSC.DB Hadoop1. DBとはちょっと違うけど...
分散処理基盤「Hadoop」の
概要と最新動向紹介!
2012年7月25日
日本Hadoopユーザー会
山下 真一
2012/7/25 OSC2012.DB 1
2. 自己紹介
• 山下 真一 (やました しんいち)
• 日本Hadoopユーザー会
• 某所でHadoopエコシステムと戯れる日々...
• 元々は、ApacheとかTomcatとかPostgreSQLとかと
戯れている...
• 最近は、執筆したりレビューしたりな日々
• 趣味は、AndroidとかNoSQL系で遊ぶこと
• ○活中 (○は任意の文字)
2012/7/25 OSC2012.DB 2
4. 日本Hadoopユーザー会
• Webサイトは以下の通り
• http://hugjp.org/
• メーリングリスト(Googleグループ)
• https://groups.google.com/group/hadoop-jp?hl=ja
2012/7/25 OSC2012.DB 4
5. Hadoopとは
• OSSによる大規模分散処理フレームワーク
• Googleの基盤ソフトウェア(GFS, MapReduce)のオープ
ンソース実装
• Apache Software Foundationのプロジェクトのひとつ
• Javaで実装
• 2つのコンポーネントで構成
• HDFS : Hadoop分散ファイルシステム
• MapReduce : Hadoop分散処理フレームワーク
• Hadoopの基本的なアイデア
• 大容量データを並列に処理
• データのローカリティを意識した分散処理
2012/7/25 OSC2012.DB 5
6. Hadoopの特徴
• バッチ処理に威力を発揮
• 従来数時間~数日要していた処理を短時間で処理
• 処理を分割して複数のサーバで分散処理を実行
• 高いスケーラビリティ
• サーバ増設で、格納容量、処理性能を向上
• 数台~4000台程度までのHadoop環境
• 特定のサーバが故障してもサービス継続
• データは分割・分散配置
• 処理に異常が発生する場合は、他サーバで再実行
• コモディティな製品で構成可能
• 特定ベンダの特別な製品は不要
2012/7/25 OSC2012.DB 6
7. Hadoopの活用例
• Yahoo! • 大量データの高スループット処理
• 検索インデックスの生成、迷惑メール • 集計・抽出・変換・分析用途
フィルタ用データの生成
• 過去3年分のログデータ解析が約20分 (従来は26日)
• 楽天
• 広告インプレッション解析、レコメンデーション、ランキング集計
• Perlスクリプトによる処理(26時間)がHadoopで4.5時間に短縮
• DeNA
• ゲーム内での行動履歴分析 (行動特性を抽出・分析)
• 2300万人アクティブユーザが生成する1日20億件以上の行動履歴を分析
• VISA
• カードの不正利用モデルを生成
• 1カ月かかっていたものが、Hadoopによって13分に
• 国立国会図書館
• 書誌データから検索エンジン Solr 用のインデックスを生成
2012/7/25 OSC2012.DB 7
8. Hadoopのよくある誤解
×誤解1 : 高速なRDBMS
• ミリ秒単位の処理をHadoopに求めてはいけません...
×誤解2 : 分散ファイルサーバ
•Hadoopは小さなファイルを扱うのが苦手です...
○大量データに特化したバッチシステム
•オンライン処理は不向き(スループット優先)
•データは大きな塊として扱うことが望ましい
2012/7/25 OSC2012.DB 8
9. HadoopとRDBとの違い
RDB Hadoop
データを「管理する」という データは「管理しない」
観点からデータの重複を 高スループットで処理でき
避けるために正規化する るように非正規化する
・
・
・
正規化されたデータセット いくつかのデータセットを結合し、
非正規化したデータセット
• 一度に走査する範囲を小さくする • 一度に走査する範囲を大きくする
• 重複保持を排除する • 論理走査範囲を単純分割, 並列処理
• 重複保持は意識しない
2012/7/25 OSC2012.DB 9
10. Hadoopシステム基盤
タスク TaskTracker(s)
M M M
ジョブ情報 タスク分割 M ・・・
R R R
JobTracker
JobClient R ・・・
クライ 入出力データは
アント データローカリティを ・・・ M
意識した割り当て HDFSと連携
スレーブ
マスター サーバ
ファイルをブロックに分割 サーバ ・・・
配置を指示
NameNode
DFSClient ・・・
ブロック ラックを意識した ・・・
ブロック配置を実施
ファイル
2012/7/25 OSC2012.DB DataNode(s)
10
11. MapReduce 処理
Shuffle
スコア
(同じKeyでデータを集約)
一覧
<A, 10>
<A, {10,25} >
<B, 20>
<C, {10,5,15} > 何らかの処理
Map <C, 15>
<A, 35 >
<D, 5>
Reduce
<C, 30 >
Map <A, 25>
<C, 10>
<D, 10> <B, 30 >
Reduce
<B, 10> <D, 15 >
Map <C, 5> <B, {20,10} >
<D, {5,10} >
・<Key, Value>の形式でデータを管理
スコアの抽出
・MapやReduceが分散処理の対象
2012/7/25 OSC2012.DB 11
14. 低レイテンシーの関連技術
• Hadoopは、数時間~数日を数分~数十分に短
縮する技術
• 秒未満の処理には、Hadoop単体で適用できません
• Apache HBase
• HDFS上で動作するカラム指向型データベース
• “行キー”、”列ファミリ”、”値”、”タイムスタンプ” で
データを管理
• 行キーに対して低レイテンシーで読み書きを実現
• Hadoopと同様にスケーラブルな仕組み
• 数百TB程度までの動作実績あり
2012/7/25 OSC2012.DB 14
16. Hadoopの最新動向
• Hadoopのバージョン関係
Hadoop1.0系
(stable)
従来0.20.2xxと
呼ばれていたもの
新機能開発版
• NameNode HA
Hadoop2.0系 • Federation
(alpha) • MapReduce 2.0
などなど...
出典: Hadoop Summit 2012
2012/7/25 OSC2012.DB 16
19. YARN : MapReduce 2.0
• YARN
• Yet Another/Application Resource Negociator
Node Manager
Resource Manager 処理ノードの管理
MR基盤のリソース管理
Application Master
アプリケーション実行元
Container
処理を実行
• リソース管理とAP管理を分離
• 処理スロット制を廃止
出典: Hadoop Summit 2012
2012/7/25 OSC2012.DB 19
20. Hadoopの最新動向
• Hadoopエコシステムが更に広がっています
• HDP(Hortonworks Data Platform) 1.0
• Apache Hadoop 1.0ベースのディストリビューション
• HA(Linux-HA連携), Talend Open Studio連携
• CDH4
• Apache Hadoop 2.0ベースのディストリビューション
• NameNode HA, MapReduce 2.0 などを採用
• Apacheコミュニティでのプロジェクト
• Apache HCatalog : Pig/Hive等のメタ情報共通化
• Apache Ambari : Hadoop環境の構築・運用基盤
2012/7/25 OSC2012.DB 20
21. まとめ
• Hadoopは2つのコンポーネントから構成される大規
模分散処理フレームワーク
• HDFS
• MapReduce
• 従来は個別設計が必要であった分散処理を気軽に
実現できるようになります
• いわゆる 「スケールアウト」 を実現できます
• Hadoopエコシステムは更に拡大します
• 開発、構築、運用と様々なプロジェクトが活動中です!
2012/7/25 OSC2012.DB 21