View
0
Download
0
Category
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