• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
OSC2012 OSC.DB Hadoop
 

OSC2012 OSC.DB Hadoop

on

  • 1,137 views

2012/7/25 OSC.DBでの資料です。

2012/7/25 OSC.DBでの資料です。

Statistics

Views

Total Views
1,137
Views on SlideShare
1,137
Embed Views
0

Actions

Likes
1
Downloads
0
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

    OSC2012 OSC.DB Hadoop OSC2012 OSC.DB Hadoop Presentation Transcript

    • DBとはちょっと違うけど... 分散処理基盤「Hadoop」の 概要と最新動向紹介! 2012年7月25日 日本Hadoopユーザー会 山下 真一2012/7/25 OSC2012.DB 1
    • 自己紹介• 山下 真一 (やました しんいち) • 日本Hadoopユーザー会 • 某所でHadoopエコシステムと戯れる日々... • 元々は、ApacheとかTomcatとかPostgreSQLとかと 戯れている... • 最近は、執筆したりレビューしたりな日々 • 趣味は、AndroidとかNoSQL系で遊ぶこと • ○活中 (○は任意の文字)2012/7/25 OSC2012.DB 2
    • 日本Hadoopユーザー会• Hadoopでゆる~く議論・情報交換しています• 主なイベント • 第3回 Hadoop Conference Japan (2011/09) • 第4回は、秋~冬頃 • Hadoopソースコードリーディング (不定期) • 次回は7月30日2012/7/25 OSC2012.DB 3
    • 日本Hadoopユーザー会• Webサイトは以下の通り • http://hugjp.org/• メーリングリスト(Googleグループ) • https://groups.google.com/group/hadoop-jp?hl=ja2012/7/25 OSC2012.DB 4
    • Hadoopとは• OSSによる大規模分散処理フレームワーク • Googleの基盤ソフトウェア(GFS, MapReduce)のオープ ンソース実装 • Apache Software Foundationのプロジェクトのひとつ • Javaで実装• 2つのコンポーネントで構成 • HDFS : Hadoop分散ファイルシステム • MapReduce : Hadoop分散処理フレームワーク• Hadoopの基本的なアイデア • 大容量データを並列に処理 • データのローカリティを意識した分散処理2012/7/25 OSC2012.DB 5
    • Hadoopの特徴• バッチ処理に威力を発揮 • 従来数時間~数日要していた処理を短時間で処理 • 処理を分割して複数のサーバで分散処理を実行• 高いスケーラビリティ • サーバ増設で、格納容量、処理性能を向上 • 数台~4000台程度までのHadoop環境• 特定のサーバが故障してもサービス継続 • データは分割・分散配置 • 処理に異常が発生する場合は、他サーバで再実行• コモディティな製品で構成可能 • 特定ベンダの特別な製品は不要2012/7/25 OSC2012.DB 6
    • 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
    • Hadoopのよくある誤解×誤解1 : 高速なRDBMS • ミリ秒単位の処理をHadoopに求めてはいけません...×誤解2 : 分散ファイルサーバ •Hadoopは小さなファイルを扱うのが苦手です...○大量データに特化したバッチシステム •オンライン処理は不向き(スループット優先) •データは大きな塊として扱うことが望ましい2012/7/25 OSC2012.DB 8
    • HadoopとRDBとの違い RDB Hadoop データを「管理する」という データは「管理しない」 観点からデータの重複を 高スループットで処理でき 避けるために正規化する るように非正規化する ・ ・ ・ 正規化されたデータセット いくつかのデータセットを結合し、 非正規化したデータセット • 一度に走査する範囲を小さくする • 一度に走査する範囲を大きくする • 重複保持を排除する • 論理走査範囲を単純分割, 並列処理 • 重複保持は意識しない2012/7/25 OSC2012.DB 9
    • Hadoopシステム基盤 タスク TaskTracker(s) M M Mジョブ情報 タスク分割 M ・・・ R R R JobTrackerJobClient R ・・・クライ 入出力データはアント データローカリティを ・・・ M 意識した割り当て HDFSと連携 スレーブ マスター サーバ ファイルをブロックに分割 サーバ ・・・ 配置を指示 NameNodeDFSClient ・・・ ブロック ラックを意識した ・・・ ブロック配置を実施 ファイル 2012/7/25 OSC2012.DB DataNode(s) 10
    • 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
    • Hadoopエコシステム2012/7/25 OSC2012.DB 12
    • 処理言語関係の関連技術• より簡単にMapReduceを実行するためのツール• Apache Pig • データフローによりデータをどのように処理するか定義 • シンプルかつ少ない記述でMapReduceを意識せず実行• Apache Hive • SQLライクな記法により処理内容を定義• Asakusa Framework • 複数種類のDSLを組み合わせて処理内容を定義 2012/7/25 OSC2012.DB 13
    • 低レイテンシーの関連技術• Hadoopは、数時間~数日を数分~数十分に短 縮する技術 • 秒未満の処理には、Hadoop単体で適用できません• Apache HBase • HDFS上で動作するカラム指向型データベース • “行キー”、”列ファミリ”、”値”、”タイムスタンプ” で データを管理 • 行キーに対して低レイテンシーで読み書きを実現 • Hadoopと同様にスケーラブルな仕組み • 数百TB程度までの動作実績あり2012/7/25 OSC2012.DB 14
    • データ入出力の関連技術• Hadoopへのデータ入出力を取りまとめる技術• Apache Flume • 様々なログ・データを損失無くHadoop環境に格納す る仕組み • ZooKeeper(分散協調ソフトウェア)により高可用性 を実現• Apache Sqoop • RDBMSとHadoop環境を連携させるコネクター • MapReduceによる分散処理でデータ通信を高速化 2012/7/25 OSC2012.DB 15
    • Hadoopの最新動向• Hadoopのバージョン関係 Hadoop1.0系 (stable) 従来0.20.2xxと 呼ばれていたもの 新機能開発版 • NameNode HA Hadoop2.0系 • Federation (alpha) • MapReduce 2.0 などなど... 出典: Hadoop Summit 20122012/7/25 OSC2012.DB 16
    • NameNode HA• ZooKeeperを利用したActive-Standby構成 ZooKeeperを組み合わせて異 常時のNameNode切り替え ホットスタンバイ DataNodeは双方の NameNodeにHeartbeat通信 出典: Hadoop Summit 20122012/7/25 OSC2012.DB 17
    • HDFS Federation• NameNodeのメタ情報を分割して保持 • 同一NameNodeのメタ情報を分割して保持 • 異なるNameNodeメタ情報も保持可能 DataNodeでは異なる NameNode環境のデータ を保持 出典: Hadoop Summit 20122012/7/25 OSC2012.DB 18
    • YARN : MapReduce 2.0• YARN • Yet Another/Application Resource Negociator Node Manager Resource Manager 処理ノードの管理 MR基盤のリソース管理 Application Master アプリケーション実行元 Container 処理を実行 • リソース管理とAP管理を分離 • 処理スロット制を廃止 出典: Hadoop Summit 20122012/7/25 OSC2012.DB 19
    • 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
    • まとめ• Hadoopは2つのコンポーネントから構成される大規 模分散処理フレームワーク • HDFS • MapReduce• 従来は個別設計が必要であった分散処理を気軽に 実現できるようになります• いわゆる 「スケールアウト」 を実現できます• Hadoopエコシステムは更に拡大します • 開発、構築、運用と様々なプロジェクトが活動中です!2012/7/25 OSC2012.DB 21