Comments
Description
Transcript
CDH - RED HAT OPENEYE
エンタープライズ向けHadoopディストリ ビューションCDHの紹介 Cloudera カスタマーオペレーションズエンジニア 嶋内 翔 自己紹介 • 嶋内 翔(しまうち しょう) • 2011年4月にClouderaの最初の日本人社員として 入社 • カスタマーオペレーションズエンジニアとしてテクニカ ルサポート業務を担当 • email: [email protected] • twitter: @shiumachi Clouderaとはどんな企業? Apache Hadoopベースの データマネジメントシステムの リーダー企業 § 商用・非商用環境でナンバー1の Apache Hadoopディストリビュー ションCDHを提供 § すべてのApache Hadoop関連プロ ジェクトの創設者、コミッター、コン トリビュータが多数在籍 § 合計数万ノードもの運用経験 3 Hadoopを簡単に使える 企業向けソリューションとして 提供 § Hadoop管理者用マネジメントソフト ウェア § トレーニングと認定プログラム § 包括的なサポートとコンサルティン グサービス Cloudera University ビジネスを成功に導くためのパブリックおよびプライベートトレーニング 英語 :h.p://university.cloudera.com 日本語:h.p://www.jp.cloudera.com/university メニュー 説明 オンラインリソース ビデオ、トレーニングの仮想マシン などのリソースをダウンロード可能 トレーニング トレーニングコースの内容、⽇日程、 会場などの情報 認定資格 Hadoop/HBase認定資格の情報 4 ©2012 Cloudera, Inc. All Rights Reserved. アジェンダ • ビッグデータとは • HadoopとCDH • Hadoop周辺コンポーネント紹介 • Cloudera Enterprise ビッグデータとは 生成されたデータ量(単位:兆) 10 2011年までに生成されたデータ量は 1.8兆ギガバイト (1.6ゼタバイト) § 90%以上 は非構造化データ 5 § 約500兆ファイル § データ量は毎年2倍ずつ増えている 0 2005 2015 2010 構造化データ Source: IDC 2011 7 ©2011 Cloudera, Inc. All Rights Reserved. 非構造化データ ビッグデータへの挑戦 ビッグデータには、価値ある情報が無限にある… しかし オペレーショナル データ デジタル コンテンツ WEB ログ ファイル ソーシャル メディア スマート グリッド トラディショナル データ 広告の インプレッション数 データ量 多様性 生成速度 が新たなアプローチを 求めている R&D データ 8 ©2011 Cloudera, Inc. All Rights Reserved. ビッグデータ・ソリューションに必要なもの データの「量」「多様性」「生成速度」を 高い費用対効果で管理する 「構造化データ」と「非構造化データ」に またがって迅速に価値を引き出す コンテキストの変化に柔軟に対応し、 新しいデータソースとデータ形式を統合する 9 ©2011 Cloudera, Inc. All Rights Reserved. HADOOPとCDH Apache Hadoopとは? Apache Hadoop は、データストレージとデータ処理に対し ü スケーラブル ü フォールト・トレラントによる耐障害性 ü 分散処理 という特徴を持つオープンソース・プラットフォームです HDFS 自己修復機能を持つ 高帯域な クラスタストレージ MapReduce 分散コンピューティング・ フレームワーク コアHADOOPのコンポーネント 11 ©2011 Cloudera, Inc. All Rights Reserved. CDHとは何か? • Cloudera’s Distribution including Apache Hadoop • エンタープライズ向けに開発された100%オープン ソースのHadoopディストリビューション • 主要コンセプトは4つ • 大規模データの蓄積 • 並列処理 • データインテグレーション • 言語とインタフェース CDH 開発の歴史 2012/06 Q3 2009 2009 2010 Q1 2010 Q2 2011 2011 § 高可用性ネームノード(NFS) § 複数のデータ処理フレームワーク(MR1とMR2) § etc… 2012 2012/06 2012/09 2012/09 § 高可用性ネームノード(クォーラムベースストレージ) § Hue の Oozie ワークフローGUI と日本語化 § 統計分析用PigライブラリDataFu § etc… 13 なぜCDHなのか? CDHはエンタープライズ向けの Hadoopディストリビューションです • CDHには大量のパッチが当てられています • 性能改善・バグフィックスパッチ • 互換性を維持できる範囲での機能追加 • コードは全部アップストリームファーストです • CDHはパッケージで管理できます • yum コマンドで簡単にインストール/アップデート可能 • コミュニティ版を使うとコンポーネントごとにダウンロード、コンパイ ル、デプロイを行う必要がある CDHの品質保証 • 全コンポーネントに関する単体テストを毎日フルで実行 l テスト数の合計:CDHだけで2万以上 • サポートする全プラットフォーム上でCDHのRPMお よびDebianパッケージを自動検証 l l セキュアクラスタ、高可用性(HA)クラスタなどの構成で 自動検証 100ノードまでの物理ノード、1000ノードまでのVMでテス ト CDHのコンポーネント • CDHの主要コンセプト • 大規模データの蓄積 • 並列処理 • データインテグレーション • 言語とインタフェース • CDHでは、これらのコンセプトを実現するための 様々なコンポーネントを用意 ビルド/テスト: APACHE BIGTOP CDHの主要コンポーネント HadoopとRDBMSとの連携 APACHE Sqoop 分散ログストリーミング処理 APACHE Flume クラウドでの分散処理ライブラリ APACHE Whirr Webインタフェースと フレームワーク Hue ワークフローとスケジューリング APACHE Oozie 分散協調サービス APACHE ZooKeeper 高級言語とライブラリ APACHE Hive, APACHE Pig, APACHE Mahout 分散データベース APACHE HBase 大規模分散処理基盤 APACHE MapReduce 分散ファイルシステム APACHE HDFS HDFS • Hadoop の分散ファイルシステム • 大量のデータを多数のノードに分散して保存する • 耐障害性が高く、シーケンシャルアクセスに対するス ループットが高い • 低レイテンシのデータアクセスや小さいファイルへの アクセスは苦手 HDFS 自己修復機能を持つ高帯域な 1 2 3 HDFS 4 5 2 1 1 2 1 4 2 3 3 3 5 5 4 5 4 HDFSは受け取ったファイルをブロックに分割し、 そのブロックをクラスタ全体にわたって重複して格納します 19 HDFS 1つのサーバが壊れても自動複製 生きているノードに 自動的に複製し、 常に3つのレプリカ があるようにする 20 2 1 1 2 1 4 2 3 3 3 5 5 4 5 4 1 3 4 HDFSの動作説明: ファイルの書き込み クライアント ファイル foo.txt データノード データノード データノード ネームノード データノード データノード データノード データノード データノード データノード ブロック1 ブロック1 ブロック1 ブロック2 ブロック2 ブロック2 CDH4 HDFS HA(高可用性 HDFS) • 従来のHadoopではネームノードはSPOFだった • 現在はHDFS HA機能があるためSPOFはなくなった • 自動フェイルオーバ可能 • 特殊なサーバを必要とせず、Hadoopと同じスペック のノードで構築可能 CDH4 HDFS HA(高可用性 HDFS) フェイルオーバ 共有ストレージ 編集ログ ネームノード (アクティブ) ブロックレポート ネームノード (スタンバイ) Daemon Daemon データノード ブロックレポート CDH4.1 HDFS HA(高可用性 HDFS) クォーラムベースストレージ ジャーナルノード 編集ログ ネームノード (アクティブ) ブロックレポート ネームノード (アクティブ) Daemon Daemon データノード ブロックレポート MapReduce フレームワーク 1 2 3 MR 4 5 2 1 1 2 1 4 2 3 3 3 5 5 4 5 4 多数のノード間で大規模ジョブを並列処理し、処理結果を結合します 25 ©2011 Cloudera, Inc. All Rights Reserved. なぜMapReduceか? • 分散処理の問題 • 同期をとることが困難 • 耐障害性 • ネットワークの帯域の限界 • MapReduceはこれらの問題を解決する • データを取得するのではなく、データのある場所にプログ ラムを送信して計算する • データをHDFSに保存することで耐障害性の確保 • ノード障害発生時にはそのノードの処理分だけ再実行 MapReduce の構成(1) MRv1 クライアント ネームノード ジョブトラッカー タスクトラッカー タスクトラッカー タスクトラッカー データノード データノード データノード MapReduce v2 (MRv2) • CDH4より導入 • 汎用分散処理フレームワークYARNの上で実装 • MapReduce以外の分散処理にも対応 • 超大規模クラスタを構築可能(最大10000ノード) • MRv1 では最大4000ノード • コミュニティ版では MRv2 のみ使用可能だがCDH4 では MRv1、MRv2 両方使用可能 • CDH4.1では商用環境でMRv1の利用を推奨 • MRv2はまだ開発用途としての利用を推奨 CDH4 MapReduce の構成(2) MRv2 ネームノード クライアント リソースマネージャ コンテナ アプリケーション マスタ コンテナ ノードマネージャ ノードマネージャ ノードマネージャ データノード データノード データノード 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 ジョブ CDH4.1 DataFu • 統計分析用 Pig UDF(ユーザ定義関数)ライブラリ • LinkedIn が開発 • PageRank、セッション化といった高度なデータ解析 に役立つライブラリ集 ranks = FOREACH edges GENERATE group as topic, FLATTEN(PageRank(edges.(s,e))) as (source,rank); 列指向分散データストア HBase • HDFS 上で動作する “NoSQL” • HDFS が苦手とする低レイテンシのアクセスや小さ いファイルの操作を得意とする 列指向分散データストア HBase HDFS上のデータを元に仮想的なテーブルを作成 列ファミリa 列ファミリb リージョンA 1 2 リージョンB 3 4 2 1 1 2 4 2 3 3 3 4 4 1 36 ©2011 Cloudera, Inc. All Rights Reserved. 列指向分散データストア HBase HDFS上のデータを元に仮想的なテーブルを作成 列ファミリa 列ファミリb リージョンA 1 2 リージョンB 3 4 シャーディング(テーブルのサーバ間分割)を 2 1 1 2 サポートしている 4 2 3 3 自動シャーディング 3 4 4 1 コマンド一発で手動シャーディング 37 ©2011 Cloudera, Inc. All Rights Reserved. 列指向分散データストア HBase HDFS上のデータを元に仮想的なテーブルを作成 書き込みが高速で、しかもスケールアウト可能 列ファミリa 列ファミリb データの耐障害性も確保されてる リージョンA 1 2 これはHadoopのファイルシステムHDFSの機能 3 リージョンB 4 2 1 1 2 4 2 3 3 3 4 4 1 38 ©2011 Cloudera, Inc. All Rights Reserved. 高速ログ収集ツール Flume ストリーミングイベントデータを高速に収集する Hadoop データソース Flume の構成例(1) Webサーバのログを収集 Webサーバ エージェント Webサーバ エージェント Webサーバ エージェント Hadoop クラスタ Flume の構成例(2) 多段構成にして集約 エージェント エージェント エージェント エージェント エージェント エージェント エージェント Hadoop クラスタ Flume の構成例(3) RDBと同時書き込み エージェント ・直近1時間だけ保存する ・重要なログだけ保存する などなど、使い方は様々 Hadoop クラスタ RDBMS RDBMS/DWHとのデータ転送ツール Sqoop RDBMS DWH MapReduce ジョブとして データのインポート・エクスポートを実行 NoSQL Hadoop Sqoopによるデータインポート Mapper データノード Mapper データノード Mapper データノード RDBMS 商品 価格 りんご 100 みかん 200 ぶどう 300 Hue • Hadoopを操作するためのWebインタフェース • コマンドラインで操作する必要がなく、web上でジョブ の作成・管理やファイルの管理が可能 • ユーザが直接クラスタにアクセスする必要がなくなる ため、セキュリティ上のメリットもある • CDH4.1 から日本語化 Hue (Hive 実行画面) Hue (ジョブ実行中画面) CLOUDERA ENTERPRISE Cloudera Enterprise Cloudera EnterpriseはHadoopを企業向けに 簡単に利用できるようにしたものです ü Hadoopの導入・展開を簡素化・迅速化 ü 導入コストと管理コストを低減 ü Hadoopのコントロールを容易に Cloudera Manager Apache Hadoop向け 管理アプリケーション 49 ProducUon Support Cloudera専門部隊が サポート Cloudera Manager Hadoop管理アプリケーション: を管理 を管理・監視 総合的な を包含 ビルトインで 50 Cloudera Managerによるシンプルな3ステップで CDHクラスタをインストール 1 ノードを見つける Hadoopのクラスタに含まれるホストの名前を 入力します。 [ConUnue]をクリックします。 51 2 コンポーネントをインストール 3 ロールの割当 Cloudera Managerは指定したホストに CDHの クラスタ内のノードのロールを確認し、必要に コンポーネントを自動的にインストールします。 応じて変更します。 サービス健全性とパフォーマンスの画面 52 クラスタのワークロードの監視と診断 53 Hadoopログの収集・表示・検索 54 システムパフォーマンスと利用量の実行レポート 55 ヒートマップによるシステム健常性の可視化 56 複数CDHクラスタの管理 57 HDFS HAの容易な設定 58 まとめ まとめ • Hadoopはビッグデータの課題を解決するための オープンソースのプラットフォームです • CDHはHadoopをエンタープライズでも使えるように したオープンソースのディストリビューションです Hadoop を使うなら まずCDHを選びましょう ダウンロードはこちら h`p://www.cloudera.com/downloads/ Cloudera発の国内イベント Cloudera World Tokyoを開催致します 場所:東京ミッドタウン ホールA Cloudera Dr. Amr Awadallah Cloudera ジュセッペ小林 Recruit Technology 菊池原拓氏 Recruit 加藤茂博氏 h`p://www.cloudera.co.jp/jpevents/cloudera-‐world-‐tokyo/ CDHコミュニティ・MLの紹介 CDH ユーザ メーリングリスト(日本語) [email protected] CDH の質問についてはこちら Cloudera ニュースレター http://www.cloudera.co.jp/newsletter Cloudera に関するニュースをお届けします CDHの最新情報・使い方なども紹介します THANK YOU! For more information: www.cloudera.co.jp twitter: @ClouderaJP