Hadoop概要説明  
2011-‐‑‒04-‐‑‒08  社内勉強会
目次
1.What is Hadoop?
2.HDFS & MapReduce
3.オープンソース
4.事例
1.What is Hadoop?
巨大なデータをバッチ処理するた
めの並列分散処理基盤
並列分散処理とは、ある1つの処理
を分割して、同時に処理を行うこ
とを指す。並列分散処理すること
で処理時間を短縮することが出来
る。
Hadoopは数千台のサーバーを利
用して並列分散処理を行うことが
出来る。そのため、処理時間を数
千分の一に減らすことが出来る。
例えばサーバー1台の場合に100
日かかる処理があったと仮定する。
この処理を100台のサーバーで構
成されるHadoopを利用すること
で、処理時間を1日に減らすことが
出来る。
ただし、、、
100秒かかる処理を1秒に減らす
ことは出来ない。ジョブの起動だ
けで30秒近くかかる。そのため、
バッチ処理専用である。
また、サーバー台数に応じて処理
能力が直線的に向上する代償とし
て、Hadoopには色々と制約が存
在する。
2.HDFS & MapReduce
HadoopはコアとなるHDFSと
MapReduce以外にも、様々な関
連コンポーネントが存在している。
http://www.slideshare.net/cloudera/eclipsecon-keynote より引用
今回はHDFSとMapReduceにつ
いて説明する。
まずはHDFS
HDFS(Hadoop Distributed
File System)は分散ファイルシス
テムである。複数のサーバーにファ
イルを分割して保持することで巨
大なファイルも扱える。
HDFSのアーキテクチャ
http://hadoop.apache.org/hdfs/docs/current/hdfs_design.html より引用
http://www.slideshare.net/cloudera/eclipsecon-keynote より引用
HDFSはマスター・スレイブ構成
になっており、1台のNameNode
と複数台DataNodeによって構成
される。
データを複数台のDataNodeで分
割して保持することで、ペタバイ
トのファイルを扱うことが出来る。
また、同じデータをDataNode間
で複製しているため、ある
DataNodeが故障しても継続して
利用出来る。故障したDataNode
のデータは他のDataNodeに再度
複製される。
ただし、、、
一度書き込んだファイルの更新は
出来ないという制約がある。
また、NameNodeが故障した場
合はHDFS全体が利用できなくな
る。そのため、NameNodeの耐
障害性を向上したい場合は、別途
対応を行う必要がある。
次にMapReduce
MapReduceは分散処理フレーム
ワークである。
MapReduceもマスター・スレイ
ブ構成になっており、1台の
JobTrackerと複数台
TaskTrackerによって構成される。
MapReduceの流れ
Googleを支える技術 より引用
http://www.slideshare.net/cloudera/eclipsecon-keynote より引用
処理を自由に書けるわけではなく、
mapとreduceという処理の中身
を規約に従って記述する必要があ
る。
3.オープンソース
HadoopはGoogleが公開したGFS
およびMapReduceの論文を参考
にして作られている。
Googleの技術との対応
Google Hadoop
分散ファイル
システム
GFS

(Google File System)
HDFS
(Hadoop Distributed

File System)
分散処理
フレームワーク
MapReduce
Hadoop
MapReduce
GFSおよびMapReduceは論文の
みが公開されていてソースは公開
されていない。一方、Hadoopは
Apacheでホストされていて、オー
プンソースである。
そのため、Hadoopには様々なディ
ストリビューションが存在する。
ディストリビューション
•Cloudera s Distribution including
Apache Hadoop (CDH)
•Yahoo! Distribution of Hadoop
•IBM Distribution of Apache Hadoop
さらに
Amazon Elastic MapReduce
(EMR) を利用すれば、サービスと
してHadoopを利用出来る。
4.事例
事例1:Yahoo
ソート
•1テラバイトを62秒 (1460Node)
•1ペタバイトを16時間強 (3558Node)
http://storageconference.net/2010/Presentations/Research/9.Shvachko.pdf
事例2:ニューヨークタイムズ
データ変換
1100万強の記事のスキャン画像(4TB)をAWS
上にHadoopを構築 (100Node) して 24時
間でPDF(1.5TB)に変換した。
http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/
事例3:クックパッド
データ解析
MySQLで7000時間かかるデータ
解析処理をHadoopを利用するこ
とで30時間に短縮した。
http://www.slideshare.net/sasata299/961-5483293

Hadoop概要説明