CDH5	
  
2014/01/23	
  
Cloudera株式会社 嶋内 翔	
  

1	
  
自己紹介	
  
嶋内 翔(しまうち しょう)	
  
•  2011年4月にClouderaの最初の日本人社員として入
社	
  
•  テクニカルサポート業務をメインに、日本における技
術に関係する業務全般を担当	
  
• 

翻訳のレビューなど	
  
ちょっと手伝いました	
  
2	
  
Cloudera  Impala  の⽇日本語フリーブック
• 
• 
• 

オライリーの「インパラ本」、日本語PDF版が無償公開される予定です!
Cloudera  の John  Russell  著
Hadoop、HBase、Hadoopオペレーション、
プログラミングHiveなどを翻訳された
玉川竜司さんが翻訳!

「これまでClouderaの皆
さんにご尽力いただいた
翻訳レビューへの感謝の
気持ちとして、Cloudera
World Tokyo開催のお祝
いに翻訳寄贈します!」

3	
  
本日のアジェンダ	
  
CDHの歴史	
  
•  CDH5	
  
• 

• 
• 
• 
• 
• 
• 

4	
  

HDFS	
  
YARN	
  
MapReduce	
  
Cloudera	
  Impala	
  
Cloudera	
  Search	
  
Spark	
  
CDHの歴史	
  

5	
  
Apache	
  Hadoop	
  
大量のデータのための	
  

分散ストレージ	
  +	
  分散処理	
  
プラットフォーム	
  

分散ストレージ	
  

6	
  

分散処理	
  
HDFS	
  
	
  

自己修復機能を持つ高帯域な
1
2
3
4
5

HDFS

2

1

1

2

1

4

2

3

3

3

5

5

4

5

4

HDFSは受け取ったファイルをブロックに分割し、	
  
そのブロックをクラスタ全体にわたって重複して格納します	
  
7	
  
HDFS	
  
1つのサーバが壊れても自動複製	
  

生きているノードに
自動的に複製し、	
  
常に3つのレプリカ
があるようにする	
  

1

1

2

1

4

2

3

3

3

5

5

4

5

4

1

8	
  

2

3

4
MapReduce	
  
フレームワーク
1
2
3
4
5

MR	
  

2

1

1

2

1

4

2

3

3

3

5

5

4

5

4

多数のノード間で大規模ジョブを並列処理し、処理結果を結合します	
  
9	
  
CDHとは?	
  
Cloudera’s	
  DistribuLon	
  including	
  Apache	
  Hadoop	
  
•  エンタープライズ向けに開発された100%オープン
ソースのビッグデータプラットフォーム	
  
• 

10	
  
CDHアーキテクチャ	
  
• 
• 

ストレージ	
  	
  
リソース管理	
  
それらを基盤としたアプリ群	
  
•  MapReduce	
  
•  Cloudera	
  Impala	
  
•  Cloudera	
  Search	
  
•  etc…	
  

バッチ
処理理

MAPREDUC
E,  HIVE,  
PIG

メタデータ

• 

インタラク
ティブ

SQL

CLOUDERA  
IMPALA

インタラク
ティブ

サーチ

CLOUDERA  
SEARCH

リソース管理理

ストレージ

統合

11	
  

機械学習
MAHOUT,  
DATAFU

…
CDH開発の歴史	
  

2013
§ 	
  YARN完全対応	
  
§ HDFSスナップショット、NFS対応、高速化	
  
§ Impala,	
  Search,	
  Spark,	
  etc…	
  	
  
Q3 2009

2009	
  

Q2 2011

2010	
  

Q1 2010
12	
  

2011	
  

2012	
  

Q2 2012

2013	
  
CDH2	
  (2010年)	
  
• 

13	
  

Hadoop、Hive、Pigのみの簡素なディストリビューショ
ン	
  
CDH3	
  (2011年4月)	
  
Hadoop	
  にセキュリティ機能を追加	
  
•  分散データストア HBase	
  を追加	
  
•  分散ログコレクタ	
  Flume	
  や、RDBMSとの連携ツール
Sqoopなど、外部連携のツールを多数追加	
  
• 

14	
  
CDH4	
  (2012年6月)	
  
• 

HDFS	
  に高可用性(HA)を追加	
  
• 

後にMapReduceにもHAを追加	
  

機械学習ソフト	
  Mahout	
  の追加	
  
•  HBase,	
  Flume,	
  Hue	
  などを始め各コンポーネントが大
きくバージョンアップ。機能追加と信頼性向上	
  
• 

15	
  
そしてCDH5	
  
YARN完全対応	
  
•  HDFSのスナップショット、NFS対応、高速化	
  
•  追加コンポーネント:	
  Impala,	
  Search(Solr)、Sentry,	
  
Accumulo,	
  Spark	
  
• 

16	
  
CDH5	
  

17	
  
HDFS	
  
Hadoop	
  の分散ファイルシステム	
  
大量のデータを多数のノードに分散して保存する	
  
•  耐障害性が高く、シーケンシャルアクセスに対するス
ループットが高い	
  
•  SPOFはもうない!	
   CDH4	
  
•  高速化	
  
• 
• 

• 
• 
• 

• 

多様なインタフェース	
  
• 
• 

18	
  

ショートサーキットリード	
  
mmapローカルリード	
  
HDFSアドバイザリキャッシュ	
  
REST	
  API	
  	
  
NFSv3インタフェース	
  

CDH4	
  
CDH5	
  

CDH4	
  

CDH5	
  
CDH5	
  
CDH5	
  

HDFSスナップショット	
  
• 

指定したディレクトリのスナップショットを取ることができる	
  
• 

• 

スナップショットはブロック情報とファイルサイズのみ保存	
  
• 

• 

/path/to/dir/.snapshot	
  の下に保存される	
  
ストレージを圧迫しない	
  

スナップショットを取得した状態にいつでも復元可能	
  

参考:	
  Cloudera	
  Manager	
  の	
  GUI画面	
  
19	
  
HBase	
  
HDFS	
  上で動作する分散データストア	
  
•  HDFS	
  が苦手とする低レイテンシのアクセスや小さい
ファイルの操作を得意とする	
  
CDH4	
  
•  テーブル・列レベルのアクセス制御	
  
CDH4	
  
•  コプロセッサ	
  
CDH4	
  
CDH5	
  
•  HBase	
  スナップショット	
  
CDH5	
  
•  オンラインリージョンマージ	
  
• 

20	
  
HBaseの復旧時間	
  
CDHバージョン	
  

障害発生時の復旧時間	
  

CDH3	
  

最悪の場合、数時間	
  

CDH4	
  

数分〜数十分	
  

CDH5	
  

ソフトウェア障害:	
  数十秒	
  
完全なノード障害:	
  数分	
  

• 

こうした復旧時間の改善の裏には数多くの高度な技
術が使われている	
  
• 

21	
  

ここでは説明しません	
  
YARN	
  

CDH5	
  

Yet-‐‑‒Another-‐‑‒Resource-‐‑‒Negotiator
•  JobTrackerが管理理していた以下の機能を分離離
• 

• 
• 

リソース管理理
ジョブスケジューリングと監視

  MapReduceはYARNアプリケーションの⼀一つと
して分離離
•  Impala、SparkなどもYARNを使ってリソース管
理理を⾏行行う	
  
• 

22	
  
MapReduce	
  1.0	
  のおさらい	
  

Job  Client

Submit	
  Job

JobTracker

TaskTracker

TaskTracker

TaskTracker

TaskTracker

TaskTracker

TaskTracker

TaskTracker

TaskTracker

Map  Slot
Reduce  Slot

23	
  
CDH5	
  

YARNのアーキテクチャ	
  
Client

ResourceManager

Submit	
  Application
Client

NodeManager

NodeManager

NodeManager

AppMaster

Cotainer

Container

Container

Container

Cotainer

Container

Container

AppMaster

24	
  

NodeManager

Container
CDH5の分散処理エンジン	
  
MapReduce	
  
•  Cloudera	
  Impala	
  
•  Spark	
  
•  Cloudera	
  Search	
  
• 

• 

25	
  

計算処理ではなく、分散検索エンジン	
  
MapReduce	
  
• 

MapReduce	
  2.0	
  (MRv2)	
  の正式サポート	
  
• 
• 
• 

• 

26	
  

CDH5	
  

YARNベース	
  
ResourceManager(RM)  +  ApplicationMaster(AsM)  
が  JobTracker  の代わり
NodeManager(AM)  が  TaskTracker  の代わり	
  

MRv1	
  も引き続きサポート	
  
Cloudera	
  Impala	
  
• 

オープンソースの低レイテンシSQLエンジン	
  
• 
• 

HiveQLベース	
  
Hive	
  の文法はほぼそのまま使えます	
  

MapReduceは使わない	
  
•  HDFS	
  や HBase	
  上のデータを処理可能	
  
•  非常に高速	
  
• 

• 

大体	
  x10〜30、遅い時でも	
  x2〜3	
  

CDH5から正式にCDHコンポーネントの一つとして扱われ
るようになった	
  
CDH5	
  
•  Llama	
  (リャマ)	
  
• 

• 

27	
  

ImpalaをYARNからリソース管理する	
  
Cloudera	
  Search	
  
CDH	
  と	
  Apache	
  Solr	
  の統合ソフト	
  
•  CDH5から正式にCDHコンポーネントの一つとして扱
われるようになった	
  
•  HDFS上のあらゆるデータを検索インデックスに	
  
• 

• 
• 
• 

29	
  

MapReduceによるバッチインデクシング	
  
Flumeからのデータ取り込みと同時にインデクシング(ニア
リアルタイム、NRT)	
  
HBase上のデータのインデクシング	
  
使用例1:	
  メール検索	
  

30	
  
使用例2:	
  Twicer	
  検索	
  

31	
  
CDH5	
  

Spark	
  

Scala製の分散処理フレームワーク	
  
•  計算途中のデータをメモリにキャッシュするので、同
一データに対する繰り返しの処理などは特に高速	
  
•  Scalaの他、JavaやPythonでも記述可能	
  
• 

val	
  file	
  =	
  sc.textFile("hdfs://.../pagecounts-­‐*.gz")	
  
val	
  counts	
  =	
  file.flatMap(line	
  =>	
  line.split("	
  "))	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .map(word	
  =>	
  (word,	
  1))	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .reduceByKey(_	
  +	
  _)	
  
counts.saveAsTextFile("hdfs://.../word-­‐count")	
  
Scalaによるワードカウント	
  
32	
  
まとめ	
  

33	
  
一箇所にデータを集める	
  
複数のシステムにデータをためる必要はもうない	
  
•  あらゆるデータをHadoopに蓄積し、あらゆるデータを
分析・検索するシステムが一つあればいい	
  
• 

34	
  
Hadoopシステムの全体構成	
  
APIアクセス	
  

外部システム	
  

外部システム	
  

APIアクセス	
  

BIツール	
  
+	
  JDBC/ODBC	
  
Webサーバ等の	
  
ログを生成するサーバ	
  

SQL	
  

Hadoop	
  
検索	
  

ログ収集	
  

ユーザ	
  

携帯端末の	
  
通信ログ	
  

RDBMS	
  

35

テーブルごと	
  
インポート	
  

テーブルごと	
  
エクスポート	
  
分散処理・機械学習	
  

DWH	
  
CDH5	
  
さらに高速で使いやすくなったHDFS	
  
•  MapReduceだけじゃない、様々な分散処理エンジン	
  
•  分散システムのリソース管理基盤	
  
• 

ビッグデータ基盤を選ぶなら	
  

CDH5	
  
詳細はこちらから	
  

hcp://Lny.cloudera.com/cdh5doc	
  
36	
  
Cloudera	
  Manager	
  5	
  
• 
• 
• 

37	
  

CDHのための運用管理・監視ソフト	
  
YARNによる複雑なリソース管理もGUIで簡単に設定できます	
  
Standard	
  版は無償公開!	
  
Cloudera	
  Manager	
  
構築・運用が大変なHadoopの管理を楽にします	
  
•  100ノードのクラスタを1時間で構築可能	
  
•  YARNによるリソース管理も簡単	
  
• 

ビッグデータ基盤を選ぶなら	
  

Cloudera	
  Manager	
  +	
  CDH5	
  
ダウンロードはこちら	
  
hcp://cloudera.com/content/support/en/downloads.html	
  
	
  
38	
  
CDHコミュニティ・MLの紹介	
  
CDH	
  ユーザ メーリングリスト(日本語)	
  
cdh-­‐user-­‐jp@cloudera.org	
  
CDH	
  の質問についてはこちら	
  
	
  
Cloudera	
  ニュースレター	
  
hcp://www.cloudera.co.jp/newslecer	
  
Cloudera	
  に関するニュースをお届けします	
  
CDH/CMの最新情報・使い方なども紹介します	
  
	
  
	
  
39	
  
	
  
We	
  are	
  Hiring!	
  
• 

Clouderaは貴方を求めています!!	
  
• 

ソリューションアーキテクト	
  
• 

• 

カスタマーオペレーションエンジニア(サポート)	
  
• 

• 
• 
• 

Hadoopを使ったコンサルティングやモデリング	
  
世界中のお客様のHadoopを守る!	
  

インストラクター	
  
システムエンジニア(技術営業)	
  
セールス	
  

興味のある方は	
  
info-­‐jp@cloudera.com	
  まで	
  
ご連絡下さい!	
  
40
41	
  

CDHの歴史とCDH5新機能概要 #at_tokuben