+ All Categories
Home > Documents > Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q...

Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q...

Date post: 14-Mar-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
23
Hadoop スタートアップセミナー Hadoopスタートアップセミナー NECラーニング テクノロジー研修事業部 土井 正宏
Transcript
Page 1: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

Hadoopスタートアップセミナー

NECラーニング テクノロジー研修事業部

土井 正宏

Page 2: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

Hadoopの概要

▌高スケーラブルな分散管理基盤

▌2つのコア機能▌分散ファイルシステム(HDFS)

▌分散処理フレームワーク(Map/Reduce)

▌BigDataの管理基盤として注目

NEC Group Internal Use Only

OSOS

Hadoop分散ファイルシステム(HDFS)

OS

分散処理基盤(Map/Reduce)

Apache Hadoop(以下 Hadoop)は高い拡張性を持つ分散処理基盤ソフトウェアで、

BigData の管理基盤として注目されています。Hadoop は以下の機能を提供します。

分散ファイルシステム(HDFS)

複数サーバーの HDD を束ねて仮想的なファイルシステムを構成する機能

分散処理フレームワーク(Map/Reduce)

大量のデータに対する処理を複数のサーバーで実行する機能

Page 3: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

BigData概要

▌ 無尽蔵に増え続ける非構造データ(表で管理できない)

例:メール本文、つぶやき、アクセスログ・・・

▌ 更新は発生しない

一度送ったメール本文はあとから修正できない

▌ 解析→構造化が必要

そのままだとゴミデータの山

Page 3 © NEC Corporation 2010

社員の情報(表構造)

メール本文(非構造データ)

BigData とは無尽蔵に増え続けるデータのことです。BigData には以下の特徴があります。

非構造データ(例:電子メール、つぶやき、画像データなど)

非構造データとは、データ項目に分類できないデータのことです。例えば、社員の情

報は社員番号や社員名といった、全社員に共通する項目に分類できますが、社員が送付

したメールの本文は決まった項目に分類できません。

更新がない

BigData は一度送付した電子メールの内容は変更することができないように、基本的

には更新処理は発生しません。

メール以外にも、ブログ、つぶやき、画像データ、映像データ、GPS の位置情報、アクセス

ログといったデータも BigData に分類されます。

BigData はそのままの状態では情報がまとまっていないため、ビジネスに活用できません。

よって、共通する項目を見つけ出してデータを構造化する必要があります。

Page 4: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

なぜBigDataが注目されているのか?

▌ 今まではBigDataをビジネスに活用できなかった

長期的に保存できない(大容量のストレージが必要)

解析処理に大量のCPUリソースを食う

▌ 古いデータは削除

▌ Hadoopの登場によりBigDataを活用しやすくなった

▌ BigDataの中にビジネスに有益な情報が眠っている

業績UP

新しいサービスの創出

Page 4 © NEC Corporation 2010

今まで企業は保有リソースの問題から、BigData をビジネスに活用することができませんで

したが、現在では Hadoop の登場によって、BigData を扱いやすくなりました。

一部の企業で BigData が活用され、その結果業績アップにつながった事例が報告されており、

現在注目を集めています。

Page 5: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

Hadoopの活用場面

BigData解析

DWH/BI

基幹系バッチ処理の高速化

センサーネットワーク

Page 5 © NEC Corporation 2010

Hadoop の活用場面は現在様々な企業で模索されておりますが、現状では主に以下の4つの

用途で活用できると考えられます。

BigData 解析

DWH/BI

基幹バッチ処理の高速化

センサーネットワーク

Page 6: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

BigData解析

▌ テキストマイニング

▌ ソーシャルメディア分析

つぶやき、ブログの解析

▌ 思いもよらなかった製品・サービスの強み、弱みを発見

Page 6 © NEC Corporation 2010

BigData収集 分析結果

好評・丌評若者に人気・・・etc

分析つぶやき

ブログ

BigData を分散処理により解析します。解析結果は DWH にロードし、従来の BI ツールで分

析することができます。

また、BigData は自社内だけにとどまらず、ソーシャルメディアの中にも存在しています。

例えば、ブログやつぶやきの文字列からキーワードを抜き出して整理、集計すると企業や製品の

好感度を把握することができます。

Page 7: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

DWH/BI

▌ レコメンドシステム(おすすめ)

RDBよりも高速に処理

▌ エコシステムの活用

Hive、Pig→構造データの解析

Page 7 © NEC Corporation 2010

購入履歴

分析 分析結果

ECサイト

アクセスログ

あなたへのおすすめ商品は…

DWH/BI 用途での活用例として、EC サイトの商品ページへのアクセスや購入履歴の分析結

果を「おすすめ商品」として提示する、レコメンドシステムが挙げられます。このような処理は

RDB でも実現できますが、Hadoop により、分析時間が格段に短縮された事例が報告されてい

ます。

また、この用途では明確な構造をもったデータを扱うことが多いので、Hive や Pig といった

関連プロダクトを活用することで、より効率よく分析できます。

Page 8: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

センサーネットワーク

▌ GPSや各種センサーが収集した情報を解析

▌ 渋滞予測、気象予報、電力予測・・・etc

Page 8 © NEC Corporation 2010

車載GPS

温度・湿度センサー

電力計

各種センサーが収集する情報の管理もまた、Hadoop が得意とする場面です。Hadoop のス

ケーラビリティにより、センサーが送り続けるデータを効率よく管理できます。

車載 GPS から渋滞を予測したり、スマートフォンの GPS からショッピングモール内の人の

流れを解析したり、電力計の情報から必要な電力量を予測するなどの用途で活用できると考えら

れます。

Page 9: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

基幹系バッチ処理の高速化

▌ Hadoopのスケーラビリティを活用して、一時的に超高性能な処理基盤を構築

▌ 月次、日次バッチ処理の高速化

▌ Iaasの活用

Page 9 © NEC Corporation 2010

平常時

バッチ処理実行時

バッチ処理終了

Hadoop のスケーラビリティを利用し、Hadoop クラスタを一時的なスーパーコンピュータ

ーとして利用することも考えられます。また、IaaS のサービスを活用すれば、自社内にリソー

スを所有する必要がなく、費用削減につながります。

Page 10: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

Hadoopクラスタの構成

▌ マスタースレーブ方式

▌ マスター

メタデータを管理(NameNode)

ジョブを監視(JobTracker)

▌ スレーブ

データを保存(DataNode)

タスクを実行(TaskTracker)

Page 10 © NEC Corporation 2010

マスターノード群

スレーブノード群

NameNode

Hadoopクラスタ

JobTracker SecondaryNameNode

TaskTrackerDataNode

TaskTrackerDataNode

TaskTrackerDataNode

Hadoop クラスタは構成するサーバー間に親子関係があり、親をマスターノード、子をスレ

ーブノードと言います(マスタースレーブ方式)。マスターノードとスレーブノードの役割は以

下の通りです。

マスターノード

NameNode:HDFS のメタデータを管理

JobTracker:Map/Reduce のタスクを監視

スレーブノード

DataNode:データブロックを保存

TaskTracker:Map/Reduce のタスクを実行

各プロセスは別々の物理サーバーで起動することもできますが、一般的に NameNode と

JobTracker、DataNode と TaskTracker をそれぞれ共存させます。

Page 11: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

分散ファイルシステム(HDFS)

▌ スレーブノード(DataNode)のディスクを仮想的に一台に見せる

▌ マシンを追加するだけで簡単に拡張可能

▌ データブロックに分割

▌ レプリカを保持

Page 11 © NEC Corporation 2010

100G 100G100G

300G

ブロックA

データBブロックC

ブロックA データB

ブロックC

ファイル

Hadoop のコア機能の一つである HDFS(Hadoop 分散ファイルシステム:Hadoop

Distributed File System)は、スレーブノードの HDD を束ねて、大容量の仮想ストレージを

構成します。空き容量が減ってきた際は、新規スレーブノードを立ち上げることで簡単に容量を

増やすことができます。

ファイルを HDFS 上に配置すると、データブロックという単位に分割されて、スレーブに配

置されます。各データブロックは障害に備え、別ノードにコピー(レプリカ)を持っています。

マスターノードがスレーブノードの死活監視を行っており、スレーブが停止すると該当するデー

タブロックのレプリカを作成します。この仕組みにより、常に一定数のレプリカが保障されます。

Page 12: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

ハンズオン

▌ HDFS上にローカルのファイルをアップロードします

▌ WebUI ( http://master:50070 )でクラスタの構成を確認

▌ HDFS上にディレクトリを作成

▌ HDFSにファイルをロード

▌ WebUI ( http://master:50070 )でファイルを確認

Page 12 © NEC Corporation 2010

本セミナーでは、講師マシンをマスターとする Hadoop クラスタを操作します。

1. WebUI(http://master:50070)からクラスタの構成を確認します。

Page 13: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

2. HDFS 上にディレクトリを作成します。端末を開き、以下のコマンドを実行します。

[hadoop@localhost ~]$ hadoop dfs -mkdir foo

[hadoop@localhost ~]$ hadoop dfs –ls

・・・

drwxr-xr-x - hadoop supergroup 0 2012-02-05 14:22 /user/hadoop/foo

・・・

3. ”data”ファイルを HDFS 上に配置します。

[hadoop@localhost ~]$ hadoop dfs -put data ./foo

※大きなサイズのファイルを配置するため、時間がかかります。

[hadoop@localhost ~]$ hadoop dfs -ls ./foo

Found 1 items

-rw-r--r-- 3 hadoop supergroup 256900332 2012-02-05 14:23 /user/hadoop/foo/data

4. アップロードしたファイルを WebUI から確認します。

「Brouse File System」→「user」→「hadoop」→「foo」→「data」の順にクリ

ックします。

4 ブロック×3 レプリカに分割されてい

ることを確認します。

Page 14: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

Map/Reduce

▌ 分散処理のフレームワーク

▌ Jobの自動管理

▌ データローカリティの実現

Page 13 © NEC Corporation 2010

プログラム(Job)

Job

Task

Task

Task

Task Task Task

JobをTaskに分解

Taskを実行

Map/Reduce は、Hadoop が提供する分散処理のフレームワークです。ユーザーは実行し

たい処理をジョブとして渡すと、JobTracker がタスクに分解し、各 TaskTracker に割り当

てます。TaskTracker は割り当てられたタスクを実行します。なお、従来の分散処理と違い、

ユーザーはタスク割り当てを意識する必要がありません。また、JobTracker がタスクの進行

を監視し、エラーが起きたタスクは再実行します。そのため、プログラムにエラー処理を記述す

る必要がありません。

スレーブノードは可能な限り、自分が管理するデータブロックを処理します。そのため、ノー

ド間のデータの通信が発生しにくく、ネットワークトラフィックを抑制できます。このことをデ

ータローカリティといいます1。

1 もしも処理対象のデータが別ノードに存在する場合は、ノード間の通信を行い、処理対象データを修得します

Page 15: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

Map/Reduceのしくみ

▌ Map

分析の対象となる<Key,Value>ペアを作成

▌ Shuffle&Sort

Keyの値でソートし集約

▌ Reduce

各<Key,Value>ペアに対し、処理を行う(例:Valueの値の合計値を求める)

Page 14 © NEC Corporation 2010

Map/Reduce の処理は以下の3つのフェーズで構成されています。ただし、Job を定義する

際に、ユーザーが指定するのは Map と Reduce の処理内容のみで、Shuffle&Sort については

定義する必要はありません。

Map

分析の対象になる<Key,Value>のペアを作成します。例えば、Hadoop のサンプルプ

ログラムに含まれる wordcount(文章中の英単語を数える)では、<単語,1>のペア作り

ます(例:<To,1>)

Shuffle&Sort

Map の実行結果を Key の値で集約し、<Key,Values>のペアを作ります。この処理は

自動的に行われます2(例:<To,1,1>)

Reduce

Values に対し、集計などの処理を行います。wordcount では、Values の値の合計

値を算出します(例:<To,2>)

2 Shuffle&Sortはネットワーク通信が発生しやすいため、ボトルネックになる傾向があります。そのため、Map処理で可能な限り

データの絞り込みを行うことがパフォーマンスチューニングのポイントの一つになります。

Page 16: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

ハンズオン

▌ Map/Reduceサンプルプログラムを実行(WordCount)

▌ 事前に用意されたプログラムでdataを解析

▌ WebUI ( http://master:50030 )でM/Rの進行を確認

▌ WebUI ( http://master:50070 )で出力ファイルを確認

Page 15 © NEC Corporation 2010

1. プログラムを実行します。HDFS 上の”data”ファイルに出現する単語をカウントし

ます。

[hadoop@localhost ~]$ hadoop jar WordCount.jar WordCount ./foo/data ./foo/output

Page 17: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

2. JobTracker の WebUI ( http://master:50030 )から Map/Reduce の進行を確認し

ます。画面に表示された job_id をチェックします。

12/02/05 14:54:44 INFO mapred.JobClient: Running job: job_201202051408_0002

12/02/05 14:54:45 INFO mapred.JobClient: map 0% reduce 0%

12/02/05 14:55:28 INFO mapred.JobClient: map 11% reduce 0%

12/02/05 14:55:29 INFO mapred.JobClient: map 19% reduce 0%

12/02/05 14:55:30 INFO mapred.JobClient: map 30% reduce 0%

12/02/05 14:55:31 INFO mapred.JobClient: map 43% reduce 0%

Page 18: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

3. NameNode の WebUI ( http://master:50070 )から作成されたファイルの中身を確

認します。

Page 19: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

Hadoop注意点(よくある誤解)

▌ Hadoopはデータベースではない(データベースの下のレイヤーに相当)

▌ 従来のデータベースに置き換わる技術ではない

▌ 共有ストレージとしての利用はできない

小さなファイルの管理には向かない

ファイルの中身の編集ができない

▌ 内容の変更がなく無尽蔵に増加していくBigDataの管理に特化

Page 16 © NEC Corporation 2010

OSOS

Hadoop

SQL

ServerOracle

OSOS

HBase

Hadoop はデータベースのソフトウェアではありません。HDFS はデータベースの下のレイ

ヤーに位置します。現在 HDFS 上にデータを格納するデータベースのソフトウェアとして、

NoSQL データベースの HBase が提供されています。

また、HDFS は共有ストレージとしての利用はできません。HDFS はシステム上、小さなフ

ァイルの格納には向きません。ファイル数が増えるとメタデータが増大し、NameNode を圧迫

するからです。また、Hadoop は IO 分散による高スループットを目的として設計されており、

低レイテンシな特性が求められる操作には向いていません。

さらに、HDFS 上のファイルは、メモ帳などで中身を変更することができません。以上のこ

とから、Hadoop は共有ストレージの代わりではなく、BigData の管理に特化した基盤ソフト

ウェアと言えます。

Page 20: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

Page 17

NECラーニングの研修サービス

▌ Hadoop基礎[コースコード:DB081]

1日コース:42,000円(税込)

マシン実習付き

今回のセミナー内容に加え、インストール、パラメーターの設定、データ書き込み・読み込み時の動作、Hadoopの関連プロダクトなどについて学習します

これからHadoopの導入を検討している技術者の方、営業部門の方、新入社員の方におすすめのコースです

▌ より実践的な後続コースも近日提供予定

提供開始時はHP、およびメールマガジンでアナウンスします

NEC Group Internal Use Only

Page 21: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Hadoop スタートアップセミナー

近日提供予定コース

▌ Cloudera Apache Hadoop 管理者向けトレーニング[コースコード:DB090]

▌ Cloudera Apache Hadoop 開発者向けトレーニング[コースコード:DB091]

▌ 提供開始のアナウンスは弊社HPまたはメールマガジンで行います。この機会に是非、RSSおよびメルマガ登録をお願いします!!!

Page 18 © NEC Corporation 2010

Page 22: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

OSS 体験セミナー

Page 19 © NEC Corporation 2012

Page 23: Hadoop J ô ) 1 J...OSS体験セミナー Hadoop É r q W J ; ( = Å Ý % ¸ ´ q ¿ É ô Þ á q Ý ' ó ö = 2 w HDFS x q Ýü ¸ ' > J 2 A J w Map/Reduce x q BigData É % ¸ ´

Recommended