SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Apache Hadoopの
現状、これから
Hadoopユーザー会
山下 真一
自己紹介
•

山下 真一 (@_sinchii_)

•

日々進化するHadoopと格闘中

•

Hadoop Advent Calendar やります : 12/21 予定
•

http://qiita.com/advent-calendar/2013/hadoop

•

12/1 から開催中!

OSC .Enterprise 2013

2
Hadoopユーザー会
•

Hadoopユーザーの集い場です!
•

•

http://hugjp.org/index.php

不定期ですが、イベントも開催しています!
•
•

•

ソースコードリーディング : 次回は12/20 (金)
Advent Calendar

などなど

年一回ユーザーカンファレンスも開催しています!
•

前回は、今年1月@東京ビッグサイト 次回は来年?

OSC .Enterprise 2013

3
本日の発表内容
•

Hadoopのおさらい

•

Hadoopの歩み

•

Hadoop最新動向

•

Hadoopのこれから

OSC .Enterprise 2013

4
おさらい : Hadoopとは
数十分~数日のバッチ処理を
数分~短時間で処理
処理異常時は再試行
Google MapReduce
論文 (2004)

MapReduceフレームワーク

Google File System
論文 (2003)

HDFS分散ファイルシステム

データは複数の複製を保持

OS / Java
色々なデータを分散して保存

容易に入手できるコモディティな
サーバを利用

主な利用用途

集計

抽出
OSC .Enterprise 2013

加工

分析
5
MapReduceの仕組み
スコア
一覧

Shuffle
(同じKeyでデータを集約)

Map

<A, 10>
<B, 20>
<C, 15>

<A, {10,25} >
<C, {10,5,15} >
Reduce

Map

スコアの抽出

<A, 25>
<C, 10>
<D, 10>
<B, 10>
<C, 5>

<A, 35 >
<C, 30 >

Reduce

<D, 5>
Map

何らかの処理

<B, 30 >
<D, 15 >

<B, {20,10} >
<D, {5,10} >

・<Key, Value>の形でデータを管理
・MapやReduceが分散処理の対象
OSC .Enterprise 2013

6
Hadoopの仕組み
タスク
ジョブ情報

TaskTracker(s)

M M M

タスク分割

R R R
JobTracker

JobClient
クライ
アント

データローカリティを
意識した割り当て

ファイルをブロックに分割
配置を指示
DFSClient

入出力データは
HDFSと連携
マスター
サーバ

M

・・・

R

・・・

・・・

M

・・・

NameNode
・・・

・・・

ファイル

ラックを意識した
ブロック配置を実施
OSC .Enterprise 2013

DataNode(s)
7
本日の発表内容
•

Hadoopのおさらい

•

Hadoopの歩み

•

Hadoop最新動向

•

Hadoopのこれから

OSC .Enterprise 2013

8
Hadoopのヒストリー
The Google File System
論文の公開
MapReduce
論文の公開

EMR

プロトタイプ
作成
2003

2004

2005

HDP

CDH

2006

0.20
リリース

1.0
リリース

2009

2011

API
Sqoop

Hive

Flume

OSC .Enterprise 2013

2013

YARN

Pig
HBase

2系安定版
リリース

HA

NFS

Impala

Oozie Ambari

Spark
9
Hadoopエコシステム
Hive
(SQL style)

Pig
(DSL)

Mahout
(機械学習)
HBase
(カラム指向型ストア)

Flume
(データ投入)

MapReduceフレームワーク

Sqoop
(DB連携)

HDFS分散ファイルシステム

Oozie

(低レイテインシ)

Spark
(インメモリ)

Ambari

(ジョブフロー)

Impala

(クラスタ管理)

ZooKeeper
(分散ロック)
OSC .Enterprise 2013

10
本日の発表内容
•

Hadoopのおさらい

•

Hadoopの歩み

•

Hadoop最新動向

•

Hadoopのこれから

OSC .Enterprise 2013

11
YARN : Yet Another Resource Negotiator
•

Hadoop 1.0 系 MapReduce基盤の問題
•

JobTrackerへの負荷集中
•

多数のリクエストを処理するためネックとなりやすい
MapReduceジョブ制御
(タスクアサイン)

•

TaskTracker管理
(ハートビート)

TaskTrackerでリソースを予約して動作
•

スロット数は固定して利用するためリソースを十分活用でき
ない
Mapスロット

Reduceスロット

OSC .Enterprise 2013

12
YARN : Yet Another Resource Negotiator
•

JobTrackerのリソース管理とジョブ管理を分離
•

ResourceManager : リソース管理
•

•

ApplicationMaster : アプリケーション
•
•

•

スレーブノード(NodeManager)管理

MapReduceジョブは、ApplicationMasterが制御
処理はコンテナ(Container)が実行

NodeManager : スレーブノード
•

リソース使用状況(CPU・メモリ)を確認

OSC .Enterprise 2013

13
YARNを構成するノード
MapReduceジョブ管理
タスク割り当て

Map(Reduce)タスク

Application
Master

Container

Node
Manager

AM割り当て&管理

Node
Manager

Container

Resource
Manager

Node
Manager

ハートビート
CPU・メモリ利用状況

Node
Manager
JobHistory
Server
(ジョブ履歴)

OSC .Enterprise 2013

14
YARNの特徴
•

スレーブノードのリソースを十分に利用する仕組み

•

MapReduce APIの互換性
•

•

Hadoop 1.0系のMapReduceジョブも実行可能

様々なApplicationMasterが動作可能
•

MapReduceジョブ以外のアプリケーションも実行可能

OSC .Enterprise 2013

15
YARN上で動作するアプリケーション
•

MapReduce

•

Apache Spark : インメモリ処理エンジン

•

Apache Storm : ストリーミング処理

•

Apache Giraph : グラフ処理

•

Apache Tez : Hive/Pig実行エンジン

•

HOYA (Apache HBase) : カラム指向型ストア

•

Impala : 低レイテンシ処理
などなど
OSC .Enterprise 2013

16
YARNもstableとなったものの...
•

2013年12月12日時点では...あと一歩な印象

•

YARN HA の実装
•
•

•

ResourceManager
ApplicationMaster

スケジューラ
•
•

•

CapacityScheduler
FairScheduler

長時間動作するApplicationMaster対応
OSC .Enterprise 2013

17
HDFS 2.0
•

NameNode HA

•

HDFS Snapshot

•

HDFS Cache

•

NFS

•

(HDFS Federation)

OSC .Enterprise 2013

18
NameNode HA
•
•
•

ホットスタンバイ構成
ZooKeeperを利用して死活監視
QJMによりトランザクションログ(edits)管理
ZooKeeper
ロック情報

ZKFC
NameNode
(active)

ロック監視

fsimage
トランザクション情報

JournalNode

ロック消滅時に
フェールオーバー実施

JournalNode
OSC .Enterprise 2013

ZKFC
NameNode
(standby)
edits
JournalNode
19
HDFS Snapshot
•

ユーザ単位でのスナップショット
管理者によって
スナップショット可能な
ディレクトリを設定

/user

hoge

file1

65535世代
保存可能

fuga
dir1

file2
file3

file5

file4

Read-Only
OSC .Enterprise 2013

20
HDFS Snapshot
•

スナップショットのコマンド
•
•

削除 : hdfs dfs -deleteSnapshot

•

リネーム : hdfs dfs -renameSnapshot

•

•

作成 : hdfs dfs -createSnapshot

比較 : hdfs snapshotDiff

スナップショットの確認
•

hdfs dfs -ls <対象ディレクトリ>/.snapshot/

OSC .Enterprise 2013

21
その他
•

Apache Pig : 0.12.0
•
•

AvroStorageをサポート

•

•

ASSERT 文、IN CASE文、
(HCatalogによるHiveメタ情報の連携)

Apache Hive : 0.12.0
•
•
•

Date型対応
Parallel ORDER BY
クエリ最適化
OSC .Enterprise 2013

22
その他
•

Java 7 対応

•

Windows 上での Hadoop環境

•

ログ周りの改善
•
•
•

auditログ
メッセージレベルの見直し
無駄なstacktrace出力の抑制

OSC .Enterprise 2013

23
本日の発表内容
•

Hadoopのおさらい

•

Hadoopの歩み

•

Hadoop最新動向

•

Hadoopのこれから

OSC .Enterprise 2013

24
Hadoop Trunk状況
•

Hadoop 2系(2.2がcurrent)
•

2.3
•
•

•

2.4
•
•
•

•

•

バグフィックス?
2.2.1 を2.3として扱うかも?
YARN HA (RM Fail Over via ZKFC) ?
Application History Server
Long-running applications

HDFS Trace ? HDFS Symlink ? ヘテロなストレージ ?

Hadoop 1系 … 果たして今後リリースはあるのか?
OSC .Enterprise 2013

25
Hadoopエコシステムの拡大
•

Apache Sentry
•

•

Apache Tez
•

•

YARN上でPig / Hive をより適切な実行計画での動作

Stinger
•

•

ロールベースのHadoopクラスタ認証

Hiveのクエリを100倍高速にするとか...

Openstackとの連携
•

Savannaプロジェクト

OSC .Enterprise 2013

26
まとめ
•

Hadoop 2系
•
•

•

HDFS : 必要な仕組みは一通りそろった
YARN : まだまだ発展途上

エコシステムの膨張
•
•

次々と新しいものは出てくる印象
これまで利用してきたもの(Hive/Pig ...)もより充実

•

従来の仕組み(HDFS+MR)はほぼ完成

•

HDFSを土台とした新たな仕組みに期待!
OSC .Enterprise 2013

27

Contenu connexe

En vedette

OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門Shinichi YAMASHITA
 
Halloween super affiliate scam
Halloween super affiliate scamHalloween super affiliate scam
Halloween super affiliate scamAira Sensei
 
Halloween super affiliate bonus
Halloween super affiliate bonusHalloween super affiliate bonus
Halloween super affiliate bonusAira Sensei
 
Entendiendo el Business Model Canvas
Entendiendo el Business Model CanvasEntendiendo el Business Model Canvas
Entendiendo el Business Model CanvasGuillermo Poveda
 
OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門Shinichi YAMASHITA
 
Atelier Numérique "Gestion Relation clients par le mail - 2016"
Atelier Numérique "Gestion Relation clients par le mail - 2016"Atelier Numérique "Gestion Relation clients par le mail - 2016"
Atelier Numérique "Gestion Relation clients par le mail - 2016"Kate De Gourdon
 
Medias sociaux & pme
Medias sociaux & pme Medias sociaux & pme
Medias sociaux & pme Hugo Vicard
 
Obligations site internet
Obligations site internetObligations site internet
Obligations site internetCOMPETITIC
 
2011 06 23 aspects juridiques ecommerce by competitic
2011 06 23 aspects juridiques ecommerce by competitic2011 06 23 aspects juridiques ecommerce by competitic
2011 06 23 aspects juridiques ecommerce by competiticCOMPETITIC
 
Competitic - visibilité sur le web - numerique en entreprise
Competitic - visibilité sur le web - numerique en entrepriseCompetitic - visibilité sur le web - numerique en entreprise
Competitic - visibilité sur le web - numerique en entrepriseCOMPETITIC
 

En vedette (17)

OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門
 
Day I Was Born
Day I Was BornDay I Was Born
Day I Was Born
 
Halloween super affiliate scam
Halloween super affiliate scamHalloween super affiliate scam
Halloween super affiliate scam
 
Halloween super affiliate bonus
Halloween super affiliate bonusHalloween super affiliate bonus
Halloween super affiliate bonus
 
OSC2012 OSC.DB Hadoop
OSC2012 OSC.DB HadoopOSC2012 OSC.DB Hadoop
OSC2012 OSC.DB Hadoop
 
SourceReading 20101020
SourceReading 20101020SourceReading 20101020
SourceReading 20101020
 
Phishing
PhishingPhishing
Phishing
 
Entendiendo el Business Model Canvas
Entendiendo el Business Model CanvasEntendiendo el Business Model Canvas
Entendiendo el Business Model Canvas
 
OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門
 
Padronanza personale
Padronanza personalePadronanza personale
Padronanza personale
 
I Modelli Mentali
I Modelli MentaliI Modelli Mentali
I Modelli Mentali
 
Hadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/SpringHadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/Spring
 
Atelier Numérique "Gestion Relation clients par le mail - 2016"
Atelier Numérique "Gestion Relation clients par le mail - 2016"Atelier Numérique "Gestion Relation clients par le mail - 2016"
Atelier Numérique "Gestion Relation clients par le mail - 2016"
 
Medias sociaux & pme
Medias sociaux & pme Medias sociaux & pme
Medias sociaux & pme
 
Obligations site internet
Obligations site internetObligations site internet
Obligations site internet
 
2011 06 23 aspects juridiques ecommerce by competitic
2011 06 23 aspects juridiques ecommerce by competitic2011 06 23 aspects juridiques ecommerce by competitic
2011 06 23 aspects juridiques ecommerce by competitic
 
Competitic - visibilité sur le web - numerique en entreprise
Competitic - visibilité sur le web - numerique en entrepriseCompetitic - visibilité sur le web - numerique en entreprise
Competitic - visibilité sur le web - numerique en entreprise
 

Similaire à Hadoop - OSC2013 .Enterprise

第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポートYou&I
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩Fumito Ito
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編GoAzure
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Ken SASAKI
 
Hadoop Streamingを使って お好きな言語でMap☆Reduce!
Hadoop Streamingを使って お好きな言語でMap☆Reduce!Hadoop Streamingを使って お好きな言語でMap☆Reduce!
Hadoop Streamingを使って お好きな言語でMap☆Reduce!Masaya Taji
 
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)Hadoop / Spark Conference Japan
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのsparkRyuji Tamagawa
 
オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724
オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724
オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724Cloudera Japan
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化Nobuyori Takahashi
 
自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜Yukinori Suda
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編ThinkIT_impress
 
Apache sparkでつぶやきビッグデータ クローンをつくってみた
Apache sparkでつぶやきビッグデータ クローンをつくってみたApache sparkでつぶやきビッグデータ クローンをつくってみた
Apache sparkでつぶやきビッグデータ クローンをつくってみたJunichi Noda
 
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たちATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たちAdvancedTechNight
 
MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。
MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。
MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。You&I
 
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure DataFluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure DataKiyoto Tamura
 

Similaire à Hadoop - OSC2013 .Enterprise (20)

第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
Hadoop Streamingを使って お好きな言語でMap☆Reduce!
Hadoop Streamingを使って お好きな言語でMap☆Reduce!Hadoop Streamingを使って お好きな言語でMap☆Reduce!
Hadoop Streamingを使って お好きな言語でMap☆Reduce!
 
Hadoop 基礎
Hadoop 基礎Hadoop 基礎
Hadoop 基礎
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark
 
オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724
オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724
オライリーセミナー Hadoop/Hiveを学ぶ #oreilly0724
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
 
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 
自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜
 
Chirp hackday
Chirp hackdayChirp hackday
Chirp hackday
 
Spark shark
Spark sharkSpark shark
Spark shark
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編
 
Apache sparkでつぶやきビッグデータ クローンをつくってみた
Apache sparkでつぶやきビッグデータ クローンをつくってみたApache sparkでつぶやきビッグデータ クローンをつくってみた
Apache sparkでつぶやきビッグデータ クローンをつくってみた
 
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たちATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
 
MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。
MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。
MapReduce 初心者が Hadoop をさわってみた。もちろん C++ から。
 
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure DataFluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
 

Hadoop - OSC2013 .Enterprise