エンタープライズ向けHadoopディストリ ビュー...

Preview:

Citation preview

エンタープライズ向けHadoopディストリビューションCDHの紹介 Cloudera カスタマーオペレーションズエンジニア 嶋内 翔

自己紹介

•  嶋内 翔(しまうち しょう) •  2011年4月にClouderaの最初の日本人社員として

入社 •  カスタマーオペレーションズエンジニアとしてテクニカ

ルサポート業務を担当 •  email: sho@cloudera.com •  twitter: @shiumachi

Clouderaとはどんな企業?

3

Hadoopを簡単に使える  企業向けソリューションとして

提供  

§ Hadoop管理者用マネジメントソフトウェア  

§ トレーニングと認定プログラム  

§ 包括的なサポートとコンサルティングサービス  

Apache  Hadoopベースの  データマネジメントシステムの  

リーダー企業  

§ 商用・非商用環境でナンバー1のApache  HadoopディストリビューションCDHを提供  

§ すべてのApache  Hadoop関連プロジェクトの創設者、コミッター、コントリビュータが多数在籍  

§ 合計数万ノードもの運用経験  

Cloudera University

©2012 Cloudera, Inc. All Rights Reserved. 4

ビジネスを成功に導くためのパブリックおよびプライベートトレーニング

メニュー 説明オンラインリソース ビデオ、トレーニングの仮想マシン

などのリソースをダウンロード可能トレーニング トレーニングコースの内容、⽇日程、

会場などの情報認定資格 Hadoop/HBase認定資格の情報

英語 :h.p://university.cloudera.com  

日本語:h.p://www.jp.cloudera.com/university  

アジェンダ

•  ビッグデータとは •  HadoopとCDH •  Hadoop周辺コンポーネント紹介 •  Cloudera Enterprise

ビッグデータとは

©2011 Cloudera, Inc. All Rights Reserved.

7

10  

2005   2015  2010  

5  

0  

2011年までに生成されたデータ量は 1.8兆ギガバイト (1.6ゼタバイト)  § 90%以上 は非構造化データ  § 約500兆ファイル  § データ量は毎年2倍ずつ増えている  

構造化データ   非構造化データ  

生成

され

たデ

ータ

量(単

位:兆

)  

Source:  IDC  2011  

ビッグデータへの挑戦

©2011 Cloudera, Inc. All Rights Reserved.

8

データ量 多様性

生成速度 が新たなアプローチを

求めている  

ビッグデータには、価値ある情報が無限にある…  

しかし  

WEB  ログ  

ソーシャル  メディア  

トラディショナル  データ  

スマート  グリッド  

オペレーショナル  データ  

デジタル  コンテンツ  

R&D  データ  

広告の  インプレッション数  

ファイル  

ビッグデータ・ソリューションに必要なもの

©2011 Cloudera, Inc. All Rights Reserved.

9

データの「量」「多様性」「生成速度」を 高い費用対効果で管理する  

「構造化データ」と「非構造化データ」に またがって迅速に価値を引き出す  

コンテキストの変化に柔軟に対応し、 新しいデータソースとデータ形式を統合する

HADOOPとCDH

Apache Hadoopとは?

©2011 Cloudera, Inc. All Rights Reserved.

11

HDFS    

自己修復機能を持つ  高帯域な  

クラスタストレージ  

MapReduce    

分散コンピューティング・フレームワーク  

Apache Hadoop  は、データストレージとデータ処理に対し  

ü スケーラブル  ü フォールト・トレラントによる耐障害性  ü 分散処理    

という特徴を持つオープンソース・プラットフォームです  

コアHADOOPのコンポーネント  

CDHとは何か?

•  Cloudera’s Distribution including Apache Hadoop •  エンタープライズ向けに開発された100%オープン

ソースのHadoopディストリビューション •  主要コンセプトは4つ

•  大規模データの蓄積 •  並列処理 •  データインテグレーション •  言語とインタフェース

13

Q2 2011

2009   2010   2011   2012   2012/06   2012/09  

Q1 2010

Q3 2009

§ 高可用性ネームノード(NFS) § 複数のデータ処理フレームワーク(MR1とMR2)  § etc…  

2012/06

CDH  開発の歴史  

§ 高可用性ネームノード(クォーラムベースストレージ)  § Hue  の Oozie  ワークフローGUI  と日本語化  § 統計分析用PigライブラリDataFu  § etc…  

2012/09

なぜCDHなのか?

•  CDHには大量のパッチが当てられています •  性能改善・バグフィックスパッチ •  互換性を維持できる範囲での機能追加 •  コードは全部アップストリームファーストです

•  CDHはパッケージで管理できます •  yum コマンドで簡単にインストール/アップデート可能

•  コミュニティ版を使うとコンポーネントごとにダウンロード、コンパイル、デプロイを行う必要がある

CDHはエンタープライズ向けの  Hadoopディストリビューションです  

CDHの品質保証

•  全コンポーネントに関する単体テストを毎日フルで実行

l  テスト数の合計:CDHだけで2万以上

•  サポートする全プラットフォーム上でCDHのRPMおよびDebianパッケージを自動検証

l  セキュアクラスタ、高可用性(HA)クラスタなどの構成で自動検証

l  100ノードまでの物理ノード、1000ノードまでのVMでテスト

CDHのコンポーネント

•  CDHの主要コンセプト •  大規模データの蓄積 •  並列処理 •  データインテグレーション •  言語とインタフェース

•  CDHでは、これらのコンセプトを実現するための様々なコンポーネントを用意

CDHの主要コンポーネント

分散ファイルシステム  APACHE  HDFS  

大規模分散処理基盤  APACHE  MapReduce  

分散データベース  APACHE  HBase  

高級言語とライブラリ  APACHE  Hive,  APACHE  Pig,  APACHE  Mahout  

ワークフローとスケジューリング  APACHE  Oozie  

クラウドでの分散処理ライブラリ  APACHE  Whirr  

分散協調サービス  APACHE  ZooKeeper  

Webインタフェースと  フレームワーク  

Hue  

HadoopとRDBMSとの連携  APACHE  Sqoop  

分散ログストリーミング処理  APACHE  Flume  

ビル

ド/テ

スト:  A

PACH

E  BIGT

OP  

HDFS

•  Hadoop の分散ファイルシステム •  大量のデータを多数のノードに分散して保存する •  耐障害性が高く、シーケンシャルアクセスに対するス

ループットが高い •  低レイテンシのデータアクセスや小さいファイルへの

アクセスは苦手

HDFS

19

自己修復機能を持つ高帯域な  

1

2

3

4

5

2

4

5

HDFS

1

2

5

1

3

4

2

3

5

1

3

4

HDFSは受け取ったファイルをブロックに分割し、  そのブロックをクラスタ全体にわたって重複して格納します  

HDFS

20

1つのサーバが壊れても自動複製  

2

4

5

1

1

2

5

3

1

3

4

2

3

5

4

1

3

4

生きているノードに自動的に複製し、  

常に3つのレプリカがあるようにする  

HDFSの動作説明: ファイルの書き込み

データノード  

ネームノード  

データノード    データノード    データノード  データノード    データノード     データノード  データノード    データノード    

クライアント  

ファイル  foo.txt  

ブロック1   ブロック1   ブロック1  

ブロック2   ブロック2   ブロック2  

HDFS HA(高可用性 HDFS)

•  従来のHadoopではネームノードはSPOFだった •  現在はHDFS HA機能があるためSPOFはなくなった •  自動フェイルオーバ可能 •  特殊なサーバを必要とせず、Hadoopと同じスペック

のノードで構築可能

CDH4  

共有ストレージ  

HDFS HA(高可用性 HDFS)

Daemon Daemon データノード

ネームノード (アクティブ)

編集ログ  

ブロックレポート  ブロックレポート  

フェイルオーバ  

ネームノード (スタンバイ)

CDH4  

HDFS HA(高可用性 HDFS)

Daemon Daemon データノード

クォーラムベースストレージ  

ジャーナルノード

ブロックレポート  ブロックレポート  

編集ログ  

ネームノード (アクティブ)

ネームノード (アクティブ)

CDH4.1  

MapReduce

©2011 Cloudera, Inc. All Rights Reserved.

25

フレームワーク

1

2

3

4

5

2

4

5

MR  

1

2

5

1

3

4

2

3

5

1

3

4

多数のノード間で大規模ジョブを並列処理し、処理結果を結合します  

なぜMapReduceか?

•  分散処理の問題 •  同期をとることが困難 •  耐障害性 •  ネットワークの帯域の限界

•  MapReduceはこれらの問題を解決する •  データを取得するのではなく、データのある場所にプログ

ラムを送信して計算する •  データをHDFSに保存することで耐障害性の確保 •  ノード障害発生時にはそのノードの処理分だけ再実行

MapReduce の構成(1) MRv1

データノード    

タスクトラッカー  

データノード    

タスクトラッカー  

データノード    

タスクトラッカー  

ネームノード  

ジョブトラッカー  

クライアント  

MapReduce v2 (MRv2)

•  CDH4より導入 •  汎用分散処理フレームワークYARNの上で実装

•  MapReduce以外の分散処理にも対応 •  超大規模クラスタを構築可能(最大10000ノード)

•  MRv1 では最大4000ノード

•  コミュニティ版では MRv2 のみ使用可能だがCDH4では MRv1、MRv2 両方使用可能

•  CDH4.1では商用環境でMRv1の利用を推奨 •  MRv2はまだ開発用途としての利用を推奨

MapReduce の構成(2) MRv2

データノード    

ノードマネージャ  

データノード    

ノードマネージャ  

データノード    

ノードマネージャ  

ネームノード  

リソースマネージャ  

クライアント  

アプリケーション  マスタ  コンテナ   コンテナ  

CDH4  

HADOOP周辺コンポーネント紹介

MapReduceの問題点

•  分散処理が簡単になったとはいえ、それでも処理の実装はかなり大変

•  基本的にJavaで書かなければいけない •  実際のシステムでは複数のMapReduceジョブを組み合

わせることが大半

SQLライクなクエリ言語 Hive

•  覚えやすいクエリ言語を書くだけで、MapReduceジョブを作成可能

•  非常にユーザ数が多く、多数のBI/DWHベンダがHiveからのアクセスをサポート

SELECT  *  FROM  employee  JOIN  organizaUon  …    

コンパイル  

MapReduce  ジョブ  

もう一つのクエリ言語 Pig

•  プログラミング言語に近い形で記述可能 •  Hive と違いDBを用意する必要がない

grpd  =  group  words  by  word;  cntd  =  foreach  grpd  generate  group,  COUNT(words);  dump  cntd;  

コンパイル  

MapReduce  ジョブ  

DataFu

•  統計分析用 Pig UDF(ユーザ定義関数)ライブラリ •  LinkedIn が開発 •  PageRank、セッション化といった高度なデータ解析

に役立つライブラリ集

 ranks  =  FOREACH  edges  GENERATE          group  as  topic,          FLATTEN(PageRank(edges.(s,e)))  as  (source,rank);  

CDH4.1  

列指向分散データストア HBase

•  HDFS 上で動作する “NoSQL” •  HDFS が苦手とする低レイテンシのアクセスや小さ

いファイルの操作を得意とする

列指向分散データストア HBase

©2011 Cloudera, Inc. All Rights Reserved.

36

HDFS上のデータを元に仮想的なテーブルを作成

2

4

3

1

2

4

1

3

4

2

3

1

列ファミリa 列ファミリb

リージョンA 1 2

リージョンB 3 4

列指向分散データストア HBase

©2011 Cloudera, Inc. All Rights Reserved.

37

HDFS上のデータを元に仮想的なテーブルを作成

2

4

3

1

2

4

1

3

4

2

3

1

列ファミリa 列ファミリb

リージョンA 1 2

リージョンB 3 4

シャーディング(テーブルのサーバ間分割)をサポートしている  

自動シャーディング  コマンド一発で手動シャーディング  

列指向分散データストア HBase

©2011 Cloudera, Inc. All Rights Reserved.

38

HDFS上のデータを元に仮想的なテーブルを作成

2

4

3

1

2

4

1

3

4

2

3

1

列ファミリa 列ファミリb

リージョンA 1 2

リージョンB 3 4

書き込みが高速で、しかもスケールアウト可能  データの耐障害性も確保されてる  

これはHadoopのファイルシステムHDFSの機能  

高速ログ収集ツール Flume

Hadoop  

ストリーミングイベントデータを高速に収集する

データソース  

Flume の構成例(1) Webサーバのログを収集

エージェント  

エージェント  

エージェント  

Hadoop  クラスタ  

Webサーバ  

Webサーバ  

Webサーバ  

Flume の構成例(2) 多段構成にして集約

エージェント  

エージェント  

エージェント  

Hadoop  クラスタ  

エージェント  

エージェント  

エージェント  

エージェント  

Flume の構成例(3) RDBと同時書き込み

エージェント   Hadoop  クラスタ  

RDBMS  ・直近1時間だけ保存する  ・重要なログだけ保存する  などなど、使い方は様々  

RDBMS/DWHとのデータ転送ツール Sqoop

Hadoop  

RDBMS  DWH   NoSQL  

MapReduce  ジョブとして  データのインポート・エクスポートを実行  

Sqoopによるデータインポート

Mapper  

Mapper  

Mapper  

RDBMS  商品   価格  

りんご   100  

みかん   200  

ぶどう   300  

データノード    

データノード    

データノード    

Hue

•  Hadoopを操作するためのWebインタフェース •  コマンドラインで操作する必要がなく、web上でジョブ

の作成・管理やファイルの管理が可能 •  ユーザが直接クラスタにアクセスする必要がなくなる

ため、セキュリティ上のメリットもある •  CDH4.1 から日本語化

Hue (Hive 実行画面)

Hue (ジョブ実行中画面)

CLOUDERA ENTERPRISE

Cloudera Enterprise

49

ü Hadoopの導入・展開を簡素化・迅速化  ü 導入コストと管理コストを低減  ü Hadoopのコントロールを容易に  

Cloudera EnterpriseはHadoopを企業向けに 簡単に利用できるようにしたものです

Cloudera  Manager    

Apache  Hadoop向け  管理アプリケーション  

ProducUon  Support    

Cloudera専門部隊が  サポート  

Cloudera Manager

50

Hadoop管理アプリケーション:

を管理      

を管理・監視      

総合的な を包含    

ビルトインで  

51

Cloudera  Managerによるシンプルな3ステップで  CDHクラスタをインストール  

1 2 3 ノードを見つける   コンポーネントをインストール   ロールの割当  

Hadoopのクラスタに含まれるホストの名前を入力します。 [ConUnue]をクリックします。  

Cloudera  Managerは指定したホストに  CDHのコンポーネントを自動的にインストールします。  

クラスタ内のノードのロールを確認し、必要に応じて変更します。  

52

サービス健全性とパフォーマンスの画面

53

クラスタのワークロードの監視と診断

54

Hadoopログの収集・表示・検索  

55

システムパフォーマンスと利用量の実行レポート  

56

ヒートマップによるシステム健常性の可視化  

57

複数CDHクラスタの管理  

58

HDFS  HAの容易な設定  

まとめ

まとめ

•  Hadoopはビッグデータの課題を解決するためのオープンソースのプラットフォームです

•  CDHはHadoopをエンタープライズでも使えるようにしたオープンソースのディストリビューションです

Hadoop  を使うなら  まずCDHを選びましょう  

ダウンロードはこちら  

h`p://www.cloudera.com/downloads/  

Cloudera発の国内イベント

Cloudera World Tokyoを開催致します

場所:東京ミッドタウン ホールA

h`p://www.cloudera.co.jp/jpevents/cloudera-­‐world-­‐tokyo/

Cloudera    Dr.  Amr  Awadallah  

Recruit  加藤茂博氏 Recruit  Technology  菊池原拓氏 Cloudera  ジュセッペ小林

CDHコミュニティ・MLの紹介

CDH ユーザ メーリングリスト(日本語) cdh-user-jp@cloudera.org CDH の質問についてはこちら Cloudera ニュースレター http://www.cloudera.co.jp/newsletter Cloudera に関するニュースをお届けします CDHの最新情報・使い方なども紹介します

THANK YOU! For more information: www.cloudera.co.jp twitter: @ClouderaJP

Recommended