SlideShare a Scribd company logo
第2回 NHNテクノロジーカンファレンス
    (2012年8月18日)




                                        日々進化するHadoopの 「いま」
                                        株式会社NTTデータ / 日本Hadoopユーザー会
                                        濱野 賢一朗



Copyright © 2012 NTT DATA Corporation
自己紹介
 濱野 賢一朗 (はまの けんいちろう) @hamaken
  株式会社NTTデータ 基盤システム事業本部 シニアエキスパート
            • 『BizXaaS Hadoop構築・運用ソリューション』
              『CDH Hadoopサポートサービス』 の中の人

  日本Hadoopユーザー会
  翔泳社 『Hadoop徹底入門』 監修者

  話題になった経産省のHadoop報告書のPM
            • 経済産業省 『分散制御処理技術等に係る
              データセンター高信頼化に向けた実証事業』
            • http://www.meti.go.jp/policy/mono_info_service/joho/
              downloadfiles/2010software_research/clou_dist_software.pdf


 Copyright © 2012 NTT DATA Corporation                                     2
おさらい: Hadoopとは
 オープンソースの並列分散処理ミドルウェア
  GoogleのGFS/MapReduceのオープンソース版クローン
  Apache Software Foundation のプロジェクトとして開発
  Javaで実装

 大きく2つのコンポーネントで構成される
  分散ファイルシステム: HDFS (Hadoop Distributed File System)
  大規模分散処理フレームワーク: Hadoop MapReduce Framework

 基本的なアイデア
  複数のIAサーバ・HDDに大容量データを分散して配置
  データを並列に読み込むことでスループットを向上
  データのローカリティを活かした分散処理
  分散処理固有の問題はMapReduceフレームワークで解決
 Copyright © 2012 NTT DATA Corporation                 3
おさらい: Hadoopクラスタの全体像

 集中管理型の分散システム                                                                 Hadoopマスタサーバ
  – 分散処理ジョブやデータの管理は
    マスタサーバで実施
  – スレーブサーバは、分散処理の                                                          NameNode         JobTracker
    実行やデータの実体を保存   Hadoopクライアント

・HDFS                                                                                       L2/L3スイッチ
  – マスター: NameNode
  – スレーブ: DataNode                                       Hadoopスレーブサーバ群
・MapReduce
                                                                                              L2スイッチ
  – マスター: JobTracker
  – スレーブ: TaskTracker


                                           DataNode        DataNode      DataNode      DataNode           DataNode
                                           TaskTracker     TaskTracker   TaskTracker   TaskTracker        TaskTracker
                                            ディスク            ディスク          ディスク          ディスク              ディスク

   Copyright © 2012 NTT DATA Corporation                                                                                4
おさらい:よくある誤解

× 高速なRDBMS
○ 大量データに特化したバッチ処理システム
       - オンライン処理には不向き (スループット優先)
       - 少量データには不向き


× 検索エンジン
○ 検索インデックス作成にも利用される
       - 低レイテンシが要求される処理の前処理など


 Copyright © 2012 NTT DATA Corporation   5
おさらい: データ保持アプローチの違い

RDB                                       Hadoop
 データを「管理」するという                            データの「管理」は行わない。
 観点からデータの重複を                              処理が高いスループットを生み出す
 避けるために正規化する。                             よう、非正規化する。




                                              ・
                                              ・
                                              ・
     正規化されたデータセット                             いくつかのデータセットを結合し、非正
                                                  規化したデータセット

 一度に走査する範囲を小さくする                          一度に走査する範囲を大きくする
 重複保持を排除する                                論理的走査範囲を単純物理分割、並列処理する
                                           重複保持していても気にしない
  Copyright © 2012 NTT DATA Corporation                            6
おさらい: HDFS
                                                                      ブロックの
                                         DataNode                       保存
       ブロック
                                         状態監視
           管理                                       Heartbeat             ① ① ③ ②

 メタ情報
  管理                                                                      ② ① ②


                             NameNode
                                                                          ③ ① ②       ①
                                    (Master)


                                           3   1    2                     ② ① ③ ①


                                                                          ①       ①   ②
ファイル
                                                          DataNode   (Slave)
                     クライアント
                                                    1つのブロックを複数のDataNodeで保存
 Copyright © 2012 NTT DATA Corporation
                                                    → 任意のDataNodeが故障してもデータを失わない           7
おさらい: MapReduce (アルゴリズム)

          スコア
          一覧
                                                        Shuffle: 同じKeyでデータを集約
                                              <A, 10>
                                                           <A, {10,25} >
                                              <B, 20>
                                                           <C, {10,5,15} >   何らかの処理
                                        Map   <C, 15>
                                                                   Reduc     <A, 35 >
                                              <D, 5>                 e       <C, 30 >
                                        Map   <A, 25>
                                              <C, 10>
                                              <D, 10>
                                                                   Reduc     <B, 30 >
                                              <B, 10>                e       <D, 15 >
                                        Map
                                              <C, 5>
                                                            <B, {20,10} >
                                                            <D, {5,10} >
     スコアの抽出                                       ・<Key, Value>の形でデータを管理
                                                  ・MapやReduceを分散処理させる
Copyright © 2012 NTT DATA Corporation                                                   8
おさらい: Hadoop MapReduce (フレームワーク)

                   MapReduce                 TaskTracker                          Map   Map   Reduce
                   ジョブ管理                      状態監視
  タスク
                                                                                  ① ① ③ ②
  管理
                                                    Heartbeat
                                                                       データのローカリティを意識した
JobTracker                                                             タスクの実行
 (MASTER)

                                                                              R    M     M    M
                   MapReduce
                     ジョブ
                                                                            同じ処理の投機的実行

                                                                            M       R    R
                      クライアント
                                                                                        タスク実行待ち
                                           Map,Reduce
                                                                TaskTracker
                                                                  (SLAVE)               タスク実行中
                                           タスクの実行
                                                                                        タスク実行(競争)中
   Copyright © 2012 NTT DATA Corporation                                                               9
Hadoopのエコシステム
 急速に発展するエコシステムがHadoopの魅力のひとつ




                    Pig                    Hive      Mahout    HBase
                                         MapReduce            ZooKeeper
                                                     HDFS

 Hadoopディストリビューションも成長中
  CDH (Cloudera’s Distribution including Apache Hadoop)
  HDP (Hortonworks Data Platform) など・・・
 Copyright © 2012 NTT DATA Corporation                                    10
主要なHadoopエコシステム

 Apache Pig
   シンプルなデータフローの記述によりデータ処理を定義
 Apache Hive
   SQLライクな記法により処理内容を定義
 Asakusa Framework
   日本ノーチラス・テクノロジーズが主導
   DSLにより処理内容を定義、業務バッチ処理への適用を指向

 Apache HBase
   HDFS上で動作するカラム指向型データベース
   「行キー」 「列ファミリ」 「値」 「タイムスタンプ」 でデータ管理
   行キーに対して 低レイテンシーな読み書きを実現

  Copyright © 2012 NTT DATA Corporation   11
主要なHadoopエコシステム

 Apache ZooKeeper
   分散ロックなど分散協調コーディネーションを実現

 Apache Sqoop
   RDBMSとHadoopを連携させるコネクタ
   効率的なデータのインポート/エクスポートを実現

 Apache Flume
   ネットワーク上に分散するログを収集できるログコレクタ
 Fluentd
   Treasure Data社が主導するログコレクタ



  Copyright © 2012 NTT DATA Corporation   12
Hadoopの動向
 Hadoopの開発は活発に進んでいるが・・・
 Hadoopのバージョンは、やや複雑な状況 (涙)
                                         Hadoop1.0系

                                         従来0.20.2xxと
                                         呼ばれていたもの



                                          新機能開発版
                                          • NameNode HA
                                          • Federation
                                          • MapReduce 2.0
                                          などなど...
  Hadoop2.0系
 Copyright © 2012 NTT DATA Corporation                      13
NameNode HA
 Hadoop単体ではSPOFと言われてきたNameNodeのHA化
   従来でも DRBD+ Pacemaker などをHadoopと連携して対応
 NameNodeのActive-Standby構成
   CDH 4.0.0 では、暫定的にNFSをベースとした構成が採用
   レポート: http://www.slideshare.net/hadoopxnttdata/cdh400namenode-ha
   今後、NFS/共有ディスクを利用しない実装 BookKeeper が登場

                                                                  ZooKeeper         quorum         NameNode(Act, Sby)
                                                                                                       状態の管理
                                                      ZooKeeper                 ZooKeeper


                                監視          ZKFC                                                 ZKFC

                             Active        NameNode                                          NameNode
                                                             チェックポイント通信                                   Standby

                                                                    NFS
・NameNodeプロセスの監視                                                  共有ディスク
・フェンシング実行                                                                edits共有
                                                DataNode    DataNode                  DataNode
・Act, Sbyへの状態遷を実行
                                                                              ・・・
   Copyright © 2012 NTT DATA Corporation                                                                                14
HDFS Federation

 NameNodeのメタ情報を分割して保持
  NameNodeメタ情報を分割保持、異なるNameNodeメタ情報も保持
 ひとつのクラスタで複数のNameSpaceを管理可能




                                         DataNodeでは
                                            異なる
                                          NameNode
                                            環境の
                                          データを保持


 Copyright © 2012 NTT DATA Corporation                15
YARN (MapReduce 2.0)
 YARN = Yet Another/Application Resource Negociator
 従来の JobTracker/TaskTracker の構成をリファクタリング
 MapReduce以外の分散処理フレームワークもサポート
  Resource Manager                          Node Manager
 MR基盤のリソース管理                                処理ノードの管理


                                           Application Master
                                          アプリケーション実行元

                                              Container
                                              処理を実行


                                          • リソース管理とAP管理を
                                            分離
                                          • 処理スロット制を廃止
  Copyright © 2012 NTT DATA Corporation                         16
Hadoopの 「いま」

 新バージョンが次々とリリースされています

 少しずつアーキテクチャーの見直しが進められています
  HDFS Federation、YARN など

 Hadoopエコシステムは成長を続けています
  各ソフトウェアの機能拡張やバージョンアップ
  Apache HCatalog : Pig/Hive等のメタ情報共通化
  Apache Ambari : Hadoop環境の構築・運用基盤

 Hadoopを契機にいくつかの技術が浸透中
  並列分散処理が身近になってきている
  機械学習などの比較的高度な分析手法
  比較的ルーズなオペレーションによる運用スケーラビリティの追求
 Copyright © 2012 NTT DATA Corporation   17
日本Hadoopユーザー会
 Webサイト http://hugjp.org/
 メーリングリスト https://groups.google.com/group/hadoop-jp?hl=ja
 イベント 『Hadoop Conference Japan』
     第1回 2009年11月13日@TEPIA 先端技術館 (331名)
     第2回 2011年2月22日@NTTデータ 本社ビル (348名)
     第3回 2011年9月26日@ベルサール汐留 (1178名)
 今年度もやります
     詳細は近日公開!




  Copyright © 2012 NTT DATA Corporation                      18
Copyright © 2011 NTT DATA Corporation




Copyright © 2012 NTT DATA Corporation

More Related Content

日々進化するHadoopの 「いま」

  • 1. 第2回 NHNテクノロジーカンファレンス (2012年8月18日) 日々進化するHadoopの 「いま」 株式会社NTTデータ / 日本Hadoopユーザー会 濱野 賢一朗 Copyright © 2012 NTT DATA Corporation
  • 2. 自己紹介  濱野 賢一朗 (はまの けんいちろう) @hamaken  株式会社NTTデータ 基盤システム事業本部 シニアエキスパート • 『BizXaaS Hadoop構築・運用ソリューション』 『CDH Hadoopサポートサービス』 の中の人  日本Hadoopユーザー会  翔泳社 『Hadoop徹底入門』 監修者  話題になった経産省のHadoop報告書のPM • 経済産業省 『分散制御処理技術等に係る データセンター高信頼化に向けた実証事業』 • http://www.meti.go.jp/policy/mono_info_service/joho/ downloadfiles/2010software_research/clou_dist_software.pdf Copyright © 2012 NTT DATA Corporation 2
  • 3. おさらい: Hadoopとは  オープンソースの並列分散処理ミドルウェア  GoogleのGFS/MapReduceのオープンソース版クローン  Apache Software Foundation のプロジェクトとして開発  Javaで実装  大きく2つのコンポーネントで構成される  分散ファイルシステム: HDFS (Hadoop Distributed File System)  大規模分散処理フレームワーク: Hadoop MapReduce Framework  基本的なアイデア  複数のIAサーバ・HDDに大容量データを分散して配置  データを並列に読み込むことでスループットを向上  データのローカリティを活かした分散処理  分散処理固有の問題はMapReduceフレームワークで解決 Copyright © 2012 NTT DATA Corporation 3
  • 4. おさらい: Hadoopクラスタの全体像  集中管理型の分散システム Hadoopマスタサーバ – 分散処理ジョブやデータの管理は マスタサーバで実施 – スレーブサーバは、分散処理の NameNode JobTracker 実行やデータの実体を保存 Hadoopクライアント ・HDFS L2/L3スイッチ – マスター: NameNode – スレーブ: DataNode Hadoopスレーブサーバ群 ・MapReduce L2スイッチ – マスター: JobTracker – スレーブ: TaskTracker DataNode DataNode DataNode DataNode DataNode TaskTracker TaskTracker TaskTracker TaskTracker TaskTracker ディスク ディスク ディスク ディスク ディスク Copyright © 2012 NTT DATA Corporation 4
  • 5. おさらい:よくある誤解 × 高速なRDBMS ○ 大量データに特化したバッチ処理システム - オンライン処理には不向き (スループット優先) - 少量データには不向き × 検索エンジン ○ 検索インデックス作成にも利用される - 低レイテンシが要求される処理の前処理など Copyright © 2012 NTT DATA Corporation 5
  • 6. おさらい: データ保持アプローチの違い RDB Hadoop データを「管理」するという データの「管理」は行わない。 観点からデータの重複を 処理が高いスループットを生み出す 避けるために正規化する。 よう、非正規化する。 ・ ・ ・ 正規化されたデータセット いくつかのデータセットを結合し、非正 規化したデータセット  一度に走査する範囲を小さくする  一度に走査する範囲を大きくする  重複保持を排除する 論理的走査範囲を単純物理分割、並列処理する  重複保持していても気にしない Copyright © 2012 NTT DATA Corporation 6
  • 7. おさらい: HDFS ブロックの DataNode 保存 ブロック 状態監視 管理 Heartbeat ① ① ③ ② メタ情報 管理 ② ① ② NameNode ③ ① ② ① (Master) 3 1 2 ② ① ③ ① ① ① ② ファイル DataNode (Slave) クライアント 1つのブロックを複数のDataNodeで保存 Copyright © 2012 NTT DATA Corporation → 任意のDataNodeが故障してもデータを失わない 7
  • 8. おさらい: MapReduce (アルゴリズム) スコア 一覧 Shuffle: 同じKeyでデータを集約 <A, 10> <A, {10,25} > <B, 20> <C, {10,5,15} > 何らかの処理 Map <C, 15> Reduc <A, 35 > <D, 5> e <C, 30 > Map <A, 25> <C, 10> <D, 10> Reduc <B, 30 > <B, 10> e <D, 15 > Map <C, 5> <B, {20,10} > <D, {5,10} > スコアの抽出 ・<Key, Value>の形でデータを管理 ・MapやReduceを分散処理させる Copyright © 2012 NTT DATA Corporation 8
  • 9. おさらい: Hadoop MapReduce (フレームワーク) MapReduce TaskTracker Map Map Reduce ジョブ管理 状態監視 タスク ① ① ③ ② 管理 Heartbeat データのローカリティを意識した JobTracker タスクの実行 (MASTER) R M M M MapReduce ジョブ 同じ処理の投機的実行 M R R クライアント タスク実行待ち Map,Reduce TaskTracker (SLAVE) タスク実行中 タスクの実行 タスク実行(競争)中 Copyright © 2012 NTT DATA Corporation 9
  • 10. Hadoopのエコシステム  急速に発展するエコシステムがHadoopの魅力のひとつ Pig Hive Mahout HBase MapReduce ZooKeeper HDFS  Hadoopディストリビューションも成長中  CDH (Cloudera’s Distribution including Apache Hadoop)  HDP (Hortonworks Data Platform) など・・・ Copyright © 2012 NTT DATA Corporation 10
  • 11. 主要なHadoopエコシステム  Apache Pig  シンプルなデータフローの記述によりデータ処理を定義  Apache Hive  SQLライクな記法により処理内容を定義  Asakusa Framework  日本ノーチラス・テクノロジーズが主導  DSLにより処理内容を定義、業務バッチ処理への適用を指向  Apache HBase  HDFS上で動作するカラム指向型データベース  「行キー」 「列ファミリ」 「値」 「タイムスタンプ」 でデータ管理  行キーに対して 低レイテンシーな読み書きを実現 Copyright © 2012 NTT DATA Corporation 11
  • 12. 主要なHadoopエコシステム  Apache ZooKeeper  分散ロックなど分散協調コーディネーションを実現  Apache Sqoop  RDBMSとHadoopを連携させるコネクタ  効率的なデータのインポート/エクスポートを実現  Apache Flume  ネットワーク上に分散するログを収集できるログコレクタ  Fluentd  Treasure Data社が主導するログコレクタ Copyright © 2012 NTT DATA Corporation 12
  • 13. Hadoopの動向  Hadoopの開発は活発に進んでいるが・・・  Hadoopのバージョンは、やや複雑な状況 (涙) Hadoop1.0系 従来0.20.2xxと 呼ばれていたもの 新機能開発版 • NameNode HA • Federation • MapReduce 2.0 などなど... Hadoop2.0系 Copyright © 2012 NTT DATA Corporation 13
  • 14. NameNode HA  Hadoop単体ではSPOFと言われてきたNameNodeのHA化  従来でも DRBD+ Pacemaker などをHadoopと連携して対応  NameNodeのActive-Standby構成  CDH 4.0.0 では、暫定的にNFSをベースとした構成が採用  レポート: http://www.slideshare.net/hadoopxnttdata/cdh400namenode-ha  今後、NFS/共有ディスクを利用しない実装 BookKeeper が登場 ZooKeeper quorum NameNode(Act, Sby) 状態の管理 ZooKeeper ZooKeeper 監視 ZKFC ZKFC Active NameNode NameNode チェックポイント通信 Standby NFS ・NameNodeプロセスの監視 共有ディスク ・フェンシング実行 edits共有 DataNode DataNode DataNode ・Act, Sbyへの状態遷を実行 ・・・ Copyright © 2012 NTT DATA Corporation 14
  • 15. HDFS Federation  NameNodeのメタ情報を分割して保持  NameNodeメタ情報を分割保持、異なるNameNodeメタ情報も保持  ひとつのクラスタで複数のNameSpaceを管理可能 DataNodeでは 異なる NameNode 環境の データを保持 Copyright © 2012 NTT DATA Corporation 15
  • 16. YARN (MapReduce 2.0)  YARN = Yet Another/Application Resource Negociator  従来の JobTracker/TaskTracker の構成をリファクタリング  MapReduce以外の分散処理フレームワークもサポート Resource Manager Node Manager MR基盤のリソース管理 処理ノードの管理 Application Master アプリケーション実行元 Container 処理を実行 • リソース管理とAP管理を 分離 • 処理スロット制を廃止 Copyright © 2012 NTT DATA Corporation 16
  • 17. Hadoopの 「いま」  新バージョンが次々とリリースされています  少しずつアーキテクチャーの見直しが進められています  HDFS Federation、YARN など  Hadoopエコシステムは成長を続けています  各ソフトウェアの機能拡張やバージョンアップ  Apache HCatalog : Pig/Hive等のメタ情報共通化  Apache Ambari : Hadoop環境の構築・運用基盤  Hadoopを契機にいくつかの技術が浸透中  並列分散処理が身近になってきている  機械学習などの比較的高度な分析手法  比較的ルーズなオペレーションによる運用スケーラビリティの追求 Copyright © 2012 NTT DATA Corporation 17
  • 18. 日本Hadoopユーザー会  Webサイト http://hugjp.org/  メーリングリスト https://groups.google.com/group/hadoop-jp?hl=ja  イベント 『Hadoop Conference Japan』  第1回 2009年11月13日@TEPIA 先端技術館 (331名)  第2回 2011年2月22日@NTTデータ 本社ビル (348名)  第3回 2011年9月26日@ベルサール汐留 (1178名)  今年度もやります  詳細は近日公開! Copyright © 2012 NTT DATA Corporation 18
  • 19. Copyright © 2011 NTT DATA Corporation Copyright © 2012 NTT DATA Corporation