bigdataにおけるhadoop へ...

44
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. BigData におけるHadoop の取組および検証事例紹介 日本ヒューレット・パッカード株式会社 テクノロジーサービス事業統括 テクノロジーコンサルティング統括本部 データセンターソリューション第一本部 コアテクノロジー部 惣道 哲也 20121022

Upload: others

Post on 03-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

BigDataにおけるHadoopへの取組および検証事例紹介 日本ヒューレット・パッカード株式会社

テクノロジーサービス事業統括 テクノロジーコンサルティング統括本部

データセンターソリューション第一本部 コアテクノロジー部

惣道 哲也

2012年10月22日

Page 2: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 2

目次

• BigDataの広がりとHPの取り組み

• Hadoopのご紹介

• HBaseのご紹介

• Hadoop適用方法

• Hadoop管理・監視

• 検証事例

Page 3: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

BigDataの広がりと HPの取り組み

Page 4: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 4

ビッグデータの広がり デジタルデータ、非構造化データが指数関数的に増大

4

SharePoint ユーザー

1億人以上 > 30%の増加率

2010年携帯電話数

50億台

YouTube 上のビデオ数

1億本以上

米国における

紙ドキュメント数4兆 増加率 22%

毎月 Facebook で共有 されるコンテンツ数

300億

毎秒の Tweet 数

97,000

一日のメール数

2,940億通

ソーシャル メディア

オーディオ

ビデオ

テキスト Email

ドキュメント

イメージ

Page 5: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 5

今まで活用できなかったデータを利用してビジネスを創造

今まで課題であった処理能力の革新

ビックデータが生む課題と機会

差別化可能な新たな ビジネスの発見

新しいテクノロジーの登場

技術の進歩

テキスト、音声など、人のアイディアと情報で構成される「ヒューマンインフォメーション」が急増 全データの70%は個人によって生成

機械から得られる「エクストリームデータ」は、多様な形態で生成

デジタルデータの増加 新しいビジネス機会と課題

ビッグデータがもたらすイノベーション(Disruptive Innovation)

Page 6: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 6

HPの取り組みと方向性

ソリューション リファレンスモデル

営業体制強化 パートナー協調

市場の創造 ビッグデータ フレームワーク ポートフォリオ

全社ビッグデータ タスクフォース

通信 製造 金融 流通 公益公共

HPビッグデータ コンサルティング

サービス

Page 7: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 7

Business Solutions

HP CONSUTING & INTEGRATION SERVICES Plan・Build・Run

PRODUCT

Financial Service

Communication Media &

Entertainment

Healthcare & Life Sciences

Consumer Industries &

Retail

通信業向け ログ圧縮/検索 (DRAGON)

DWH, BI マスタープラン策定支援 DataStage®

PowerCenter

Business Objects

MicroStrategy

Energy Manufact

uring

PARTNERS

Vertica EDWA SAS

Hadoop HBase Mahout

HP ビッグデータ 分析

コンサルティング サービス

ヒューマンインフォメーション

SAP HANA

Transportation & Hospitality

Public Sector

HP ビッグデータフレームワーク

HP ビッグデータ バッチ処理高速化 コンサルティング

サービス

Hadoop HBase サービス RESQ

Autonomy

エクストリームデータ

Hadoop導入コンサルティングサービス

Page 8: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 8

HP ビッグデータコンサルティングサービスポートフォリオ

お客様の状況

お客様の活動

設計、構築 運用

実行(運用)

設計、構築の 支援

運用 HPの ご支援

情報収集中

関心、必要性の認知

有益情報の提供 および状況確認

計画策定中

企画、計画

計画策定の支援

実装

導入支援・運用 コンサルティング ワークショップ 分析システム

導入支援サービス 分析支援

コンサルティングサービス ディスカバリー ワークショップ

分析システム 運用支援サービス

バッチ処理高速化システム 導入支援サービス

バッチ処理高速化システム 運用支援サービス

バッチ処理高速化 コンサルティングサービス

Hadoop HBase 導入支援サービス

Hadoop HBase 運用支援サービス

Hadoop HBase コンサルティングサービス

HP ビッグデータ分析コンサルティングサービス

Hadoop HBaseサービス

HP ビッグデータバッチ処理高速化コンサルティングサービス

Page 9: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Hadoopのご紹介

Page 10: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 10

Hadoop開発の歴史的経緯 GoogleFileSystemやMapReduceなどと呼ばれる分散処理技術を独自に開発。ソースコードではなく、その仕組みを論文として発表(2004年)

膨大なデータに対する検索処理で課題を抱えていたYahoo Inc.は、著名なエンジニアであるDoug Cutting氏を中心に上記論文を元に、Hadoopを開発。 Apache Hadoopプロジェクトとして公開され、オープンソースソフトウェアとして開発が進む。

米国を中心に利用が進み、Hadoop自体も様々な改良が加えられる。(facebook, ebay, VISA, amazon, etc…)

日本でも導入事例が増えつつある。(YAHOO, MUFG, cookpad, etc…)

Page 11: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 11

Hadoop クラスタ

Hadoopシステム構成

Data Node データの保持と分散処理を、スケールアウト構成で実現

Name Node 役割:メタデータの保持、Data Nodeの状態管理 構成:HAソフトウェアによる冗長化

クライアント/データソース

Map/Reduce :複数のサーバで分散処理することで高性能を実現

HDFS( Hadoop Distributed File System) ファイルを分割して複数のサーバに複製して保持することで冗長性を担保

Page 12: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 12

Hadoop概要

HDFS

MapReduce

HBase

分散データベース 冗長化、永続性、行単位ロック、複雑なデータの操作を実現したBigData用KVS(Key Value Store)

分散処理 • 複数サーバーによる分散処理フレームワーク

• 分散ファイルシステム内の複数のサーバに保持されている大規模なデータを、複数のサーバで同時に並列処理する

分散ファイルシステム • ペタバイト級のデータを格納できる分散ファイルシステム。

• 複数のマシンのディスクを組み合わせて1つのファイルシステムを構成

• 大きなファイルを分割して複数のサーバに保持

• 複数台のサーバーにデータを複数コピーして保持する事で冗長性を担保

Stream

ing

Hiv

e

Pig

標準

API

Page 13: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 13

Map/Reduce処理の概要

Map

Reduce

Map

入力ファイル

Map

出力ファイル

Reduce 出力ファイル

DataNode/TaskTracker

DataNode/TaskTracker

DataNode/TaskTracker

DataNode/TaskTracker

DataNode/TaskTracker

入力データブロック

Map処理(情報抽出)とReduce処理(解析)のロジックのみユーザが処理系を用いて記述する。それ以外の分散処理・集約はHadoopによる自動実行。

Point Point

入力ファイルはブロック単位に分割され、HDFS内の各DataNodeに分散配置される Map処理の出力データをソートして

Reduce処理の入力とする

Map

NameNode JobTracker

Map JobTrackerによるタスク割当方針として、できるだけローカルノードの入力データをMap処理に割り当ててスケールアウトを実現する

Page 14: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 14

Map/Reduce処理の概要

Map

Reduce

Map

入力ファイル

Map

出力ファイル

Reduce 出力ファイル

DataNode/TaskTracker

DataNode/TaskTracker

DataNode/TaskTracker

DataNode/TaskTracker

DataNode/TaskTracker

入力データブロック

Map処理(情報抽出)とReduce処理(解析)のロジックのみユーザが処理系を用いて記述する。それ以外の分散処理・集約はHadoopによる自動実行。

Point Point

入力ファイルはブロック単位に分割され、HDFS内の各DataNodeに分散配置される Map処理の出力データをソートして

Reduce処理の入力とする

Map

NameNode JobTracker

Map JobTrackerによるタスク割当方針として、できるだけローカルノードの入力データをMap処理に割り当ててスケールアウトを実現する

「顧客ID, 購入日, 商品ID, 購入金額, etc…」

1.顧客IDをキーにして購入金額を抽出。 <顧客ID①, 購入金額> <顧客ID②, 購入金額>

2.集約・ソートされた形でReduce処理に渡される。 <顧客ID①, {購入金額, 購入金額}> <顧客ID②, {購入金額, 購入金額}> <顧客ID③, {購入金額}>

3.購入金額の合計を計算 reduce(String user, Iterator<Int> counts): sum = 0 foreach c in counts do: sum += c emit (user, sum)

Page 15: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

HBaseのご紹介

Page 16: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 16

HBase

「HDFS上に構築された列指向データベース」

– 特徴

– データをHadoop 分散ファイルシステム上に保存することで冗長化と永続性を実現

– ノードを追加することでリニアにスケールアウト

– 行単位のロック操作でデータ一貫性を保証

– 更新処理は、バージョンを付加した追記処理で実現

– 複雑なデータを柔軟に操作するために、カラム・ファミリー技術を採用

冗長化、永続性、データ一貫性、スケールアウト、複雑なデータの操作を実現したBigData用の高機能KVS(Key Value Store)

Page 17: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 17

NN(Stb)

Hadoopの基本構成にHBase関連のサービスを追加 HBaseの基本構成

SNN, JT(Stb)

DN, TT

JT, SNN(Stb)

Heartbeat LAN

【略記・凡例】 Namenode: NN、Secondary Namenode: SNN、Jobtracker: JT、Datanode: DN、Tasktracker: TT

• Zookeeper • HBaseクラスタ管理サービス • HBase MasterをAct-Actで冗長化構成する。

• クウォーラムを確保するため、奇数台数構成(3台以上)を推奨

• HBase Master • Regionserverのヘルスチェックや

Regionserver間のregionのバランシングを行う。

• Regionserver

• データをHDFS内に保持

NFSサーバ

NN

Regionserver

Zookeeper HBase Master

HBase Master

Zookeeper

DN, TT

Regionserver DN, TT

Regionserver

DN, TT

Regionserver DN, TT

Regionserver DN, TT

Regionserver

Zookeeper

Page 18: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 18 HDFS

key Column Family1 Column Family2 Column Family3

Key1 (label1,data1) (label1,data7) data11

Key2 (label3,data3) (label1,data8) data12

Key3 (label1,data6) (label2,data9) data13

Key4 (label1,data1) (label1,data7) data11

Key5 (label3,data3) (label1,data8) data12

Key6 (label1,data6) (label2,data9) data13

Key7 (label1,data1) (label1,data7) data11

Key8 (label3,data3) (label1,data8) data12

Key9 (label1,data6) (label2,data9) data13

Key10 (label1,data1) (label1,data7) data11

Key11 (label3,data3) (label1,data8) data12

Key12 (label1,data6) (label2,data9) data13

Region

Region

Region

テーブルデータ管理方式 – テーブルは、カラムファミリ毎に管理

– Key範囲で分けてRegionに分割

– 同じRegionは異なるカラムファミリーであっても、同一のRegion Server(ノード)で管理

CF1

CF1

CF1

CF2 CF3

CF2

CF2

CF3

CF3

Region Server1

Region Server2

Region Server3 Region

CF1 CF2 CF3

Page 19: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 19

HBaseデータ書き込みフロー

クライアント

書き込み要求

①HLog書き込み

Regionserver

ノード1

ノード2 ノード3

Region

HDFS

Store Store MemStore(CF1)

MemStore(CF2)

StoreFile (CF2)

StoreFile (CF1) Hlog Hlog Hlog

③Memstore書き出し

① HLog書き込み • Write Ahead Log(WAL)を書き込み • HLogはHDFSの仕組みで他ノードに複製される。

②MemStore書き込み • MemStoreは、HBaseのデータをインメモリで保存している領域。

• MemStore自体はレプリカされない。

③MemStore書き出し • MemStoreのデータが一定以上になった段階でメモリ上のデータがHDFS上のStore Fileにまとめて書き出される

•書き出されたデータはHDFSの仕組みで複製される。

②MemStore書き込み

Page 20: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 20

Region

Store

サーバクラッシュ時の動作

クライアント

書き込み要求

Regionserver ノード1 ノード2

ノード3

Region

HDFS

Store Store MemStore(CF1)

MemStore(CF2)

StoreFile (CF2)

StoreFile (CF1) Hlog

Hlog

MemStore(CF1)

HBase Master

Hlog

1. Hlog書き込み後にノード1がクラッシュ!

2. HBase MasterによりRegionが再割り当てされ、

HLogからMemStoreが復元される。

Regionserver

書き込み継続

Page 21: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Hadoop適用方法

Page 22: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 22

1. リスクのモデル化 [金融(銀行・保険)]

2. 顧客分析 [通信・金融]

3. レコメンデーション [eコマース・製造・小売]

4. 広告のターゲッティング [広告]

5. POS分析 [小売]

6. 故障予測 [公共・通信・データセンター]

7. 脅威分析 [セキュリティ・金融]

8. 取引の監視 [金融・検査当局]

9. 検索の品質 [eコマース・Web]

10. データの蓄積 [全業種]

Hadoop適用 データの集計・抽出・分析・時系列解析・変換などの処理から構成される業務システムに適しています。

個々の顧客に関する様々な購買履歴や行動特性を詳細に分析することで、より適切なレコメンデーションを実施

日本全国の各種デバイスからの情報の蓄積および分析を高速に実施

•位置情報データ •気象データ •消費電力データ •車載センサー情報

クレジットカードの利用状況(トランザクション情報)をもとに、不正利用が行われていないかを分析

Page 23: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 23

既存バッチ処理システム

他システム

Hadoopによるバッチ処理高速化

Hadoopによる スケールアウト型分散バッチ処理

HDFS:非構造データ

RDBMS RDBMS

他システム

RDBMS

Hadoop用 バッチ処理AP

バッチ処理ロジック

結果データ転送

データ投入

データ投入

SQL処理

既存バッチ処理AP

バッチ処理ロジック

結果データ転送

Page 24: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 24

様々なシステムのログや履歴情報

Hadoopによるビッグデータ分析システム構築

データウェアハウス

トランザクション処理

BIツール

Hadoop 複雑かつ大量のデータを蓄積・高速に分析

データ 蓄積

アプリケーション

分析アプリケーション

分析処理依頼

②非構造型データ投入

DWHに投入できな

かった膨大なログデータを成形しないで

そのまま投入

Hadoopで処理可

能なバッチ処理データの投入

④DWHにて分析した結果を再びHadoopに投入して分析

③Hadoop

で1次処理した分析結果をDWHに投入

し詳細分析を実施

HDFS 非構造データ

HDFS 非構造データ

既存の RDBMS

①Hadoop導入

分析

Page 25: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Hadoop管理・監視

Page 26: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 26

性能監視・障害監視

構築・管理

HPが提供する Hadoop管理・監視ソリューションスタック

Cloudera Manager(※1)

HP CMU

Zabbix

HP SIM

OS

Hadoop (CDH)

Hadoop (CDH)

OS

HW

プロダクト 対象

• Cloudera Managerは、CDH(※2)専用の構築・管理ツール。OS上へのHadoop導入から設定管理を自動化。

• GUI上からHadoopの設定の確認、変更、サービス再起動を実行可能。

• HP Cluster Management Utility(HP CMU)は、HPC分野で10年以上の実績を持つ、大規模システム向け管理ソフトウェア。国内でもTSUBAME2.0をはじめ、採用例多数。大規模システムでのOSデプロイ、バックアップ、リストア、システム全体に対するコマンド発行などを行うことができる。

• Zabbixは、業界標準のOSSの統合管理ソフト。GUIから設定変更、サーバ状態の確認が可能な、使いやすいなインターフェースを持つ。

• サーバ管理者と運用者などのサーバごとの監視権限設定が可能。

• HP Systems Insight Manager(HP SIM)は、HPが無償で提供しているサーバ監視ソフトウェア。専用Agentを用いて、HWのきめ細かい監視が可能。ノード障害の予兆を検知し、プロアクティブな対応を実現。HPへの自動通報機能を備える。

※1 Cloudera Managerには、50ノードまでの限定で無償で利用できるFree Edition版が用意されている。 ※2 CDHは、Cloudera社が提供しているオープンソースのHadoopディストリビューションパッケージ。

• 日本HPが作成のプラグインにより、Hadoopサービスの監視も統合 HP Hadoop プラグイン

Page 27: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 27

Zabbix用:Hadoop監視プラグイン

Zabbixサーバ

Hadoop ステータスモニタ

Hadoop 監視テンプレート

Hadoop マスター

Hadoopクラスタ

Hadoop スレーブ

Hadoop スレーブ

Hadoop スレーブ

Hadoop スレーブ

監視サーバ

①ZabbixサーバがHadoopステータスモニタを実行

②Hadoopの管理ポートからメトリクス情報を収集

③収集した情報をZabbixのキーに変換してZabbixに登録

HPにて開発した Hadoop監視プラグイン

• Zabbix

• 日本国内で人気がるOSS統合監視ソフト

• カスタマイズが容易、性能監視と障害通知が可能

• グラフ表示可能で、任意の期間をマウスでドリルダウンして詳細な分析が可能

• Hadoop監視プラグイン

• HPにて開発

• 監視として重要な情報だけをまとめて1画面に表示

Page 28: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 28

Hadoop監視プラグインの機能

Hadoop Cluster全体の負荷状況

各ノードの負荷状況をOSレイヤ、Hadoopレイヤを統合して表示

HBaseの多様なメトリクスを一覧表示

Hadoop JobTrackerとHadoopクラスタの負荷状況を一画面で閲覧

システム全体の把握から、個々のサーバやコンポーネントの詳細まで把握可能!

Page 29: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

検証事例

Page 30: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 30

Hadoop:通信業者様(国内) 検証事例

30

顧客の課題とゴール

顧客のチャレンジ

システム概要図

ユーザ毎の日次での使用量を合計しユーザに通知している ユーザの増加により一日に処理するデータ量が急激に増加 1日3回予定している、課金・精算バッチがデータ容量の増加で2回になる。 リアルタイム的な処理の実現

RDBベースのアーキテクチュアでは,今後のデータ容量増加に追従することできないと判断し、MapReduceおよびHBaseでの処理をテストする。

Page 31: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 31

バッチ処理性能向上検証

ソート・分割 アプリケーション 後続処理

出力データ

入力データ (約100GB)

前段処理

後続処理 後処理

– お客様の課題

– データ量増加に伴い、既存バッチシステムの「ソート・分割アプリケーション」の処理がボトルネックになっているが、性能改善には既存アプリケーションを改修する必要があるため、多くのコストがかかってしまう。

– 検証目的

– 入力データが数百GBぐらいのデータであるがHadoopを利用

することで、ソート・分割の性能改善が見込めるのかを見極める。

Hadoopによるソート・分割処理

Reduce Map

Map Map

Reduce Reduce

HDFS

既存バッチシステム

Page 32: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 32

検証環境構成概要図

Datanode01 (ProLiant DL380 G7)

Datanode02 (ProLiant DL380 G7)

Datanode06 (ProLiant DL385 G7)

Datanode07 (ProLiant DL385 G7)

Datanode08 (ProLiant DL385 G7)

Datanode03 (ProLiant DL380 G7)

Datanode04 (ProLiant DL380 G7)

Datanode05 (ProLiant DL380 G7)

Ethernet(1Gbps)

Namenode01 (ProLiant DL380 G7)

■Data Node/Task Tracker ProLiant DL380 G7 Intel(R) Xeon(R) CPU X5680 3.33GHz 2P/12C Memory : 96GB HP 600GB 6G SAS 10K x7

■Name Node/Job Tracker ProLiant DL380 G7 Intel(R) Xeon(R) CPU X5680 3.33GHz 2P/12C Memory : 96GB HP 600GB 6G SAS 10K x6

Hadoop(分散処理、HDFS)

■Data Node/Task Tracker ProLiant DL385 G7 Opteron 6180 2.5GHz 2P/24C Memory : 128GB HP 600GB 6G SAS 10K x8

Page 33: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 33

Hadoop実行処理

Job1

HDFS上のディレクトリ

Map (複数)

ReduceN

Reduce2

Reduce1 結果1

結果2

結果N

起動コマンド: hadoop ... -D map.output.key.field.separator=. ¥ -D num.key.fields.for.partition=1 ¥ -D mapred.reduce.tasks=<分割ファイル数N> ¥ -partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner ¥ -reducer /bin/cat …

Mapスクリプト for line in sys.stdin: line = line.rstrip() Key1 = line[i:j] Key2 = line[k:l] Key3 = line[m:n] print ‘%s.%s.%s¥t%s' % (Key1, Key2, Key3 line)

Key1でグルーピング

Key1、Key2、Key3でソート・分割処理

Map処理は左下吹き出しのスクリプト。Reduce処理はOSコマンドの/bin/catのみ。 ソート・分割処理は、Hadoop Jobのオプション指定のみで実現

Key1-1 xxxx Key1-1 xxxx Key1-4 xxxx Key1-4 xxxx Key1-4 xxxx ・・・

Hadoop (HDFS)

Page 34: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 34

Hadoop処理性能

1

秒当たりのデータ処理量

(MB/s

ノード数

50

70

90

110

130

150

170

190

1 2 3 4 5 6 7 8

1秒当たりのデータ処理量( 約100GBのデータ)

1秒当たりのデータ処理量

Page 35: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 35

Hadoop処理の処理時間

処理時間(分)

0 20 40 60 80 100 120

Hadoop上でのソート・分割

+ HDFSへのデータ投入時間 …

Hadoop上でのソート・分割

(8ノード)

sortコマンドでのソート

(1ノード)

約100GBデータの処理時間

Page 36: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 36

Procurve2810-48G Gigabit Ethernet Switch

YCSB Client HW: SL335sG7 OS: RHEL5.7(x86_64) SW: YCSB0.1, JDK1.6 Zabbix1.8

HBase Master Server HW: SL335sG7 OS: RHEL5.7(x86_64) SW: CDH3u2, JDK1.6

HBase RegionServer (Slave) x 4 HW: SL335sG7 OS: RHEL5.7(x86_64) SW: CDH3u2, JDK1.6

HBase基礎性能検証 マスタノード構成

Hardware HP ProLiant SL335s G7

CPU AMD Opteron 4100(2.4GHz) 2P12C

Memory 32GB

HDD SATA 1TB × 4 (RAID1+0)

OS RHEL5.7 (x86_64)

NIC Embedded HP NC362i DP Gb

Software J2SDK 1.6.0_29 (64bit) CDH3u2 (64bit)

Page 37: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 37

試験項目 • 試験項目

• 試験結果の集計項目 Read実行回数/秒

Update実行回数/秒

Read平均応答時間(ms)

Update平均応答時間(ms)

HBaseスレーブサーバCPU使用率(%)

データサイズ 1レコード1KB × 3,000,000レコード = 3GB

シナリオ シナリオ1~シナリオ4

スレッド数 10, 100, 250, 500, 1000の5種類 ※各操作と次の操作の間の待ち時間は0秒

Page 38: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 38

HDFS

リアルタイム分析検証

IPaddr Server size

10.1.1.2 www.google.com 1020

10.1.1.2 www.hp.com 2910

10.1.1.3 www.twitter.com 1500

10.1.1.4 www.google.com 900

10.1.1.4 www.google.com 990

:

Flume

HBase Map/Reduce

高速バッチ処理 クライアント

RDBMS

既存の分析ツール

query による分析

データ抽出

ログファイルの最後のレコードをリアルタイムに送信

過去数カ月のログの集計処理などを

依頼する。

既存のBIツールなどで分析していた分析処理を実

施する。

データ格納 リアルタイムデータ投入 ユーザー行動分析

Flume

Page 39: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 39

Flume検証

Flumeとは? 「エージェントベースのデータ収集・格納フレームワーク」

信頼性

Agentダウン時もデータ永続性を保証(チャンネル上でデータ保持)

データ転送はトランザクション管理が行われるため、ロールバック・リトライが可能

スケーラビリティ

Agentノードを水平方向にスケールアウト可能

管理性

単一プロパティファイルで設定可能。設定変更は自動再読み込みされる

拡張性

ソース、シンクはプラグインアーキテクチャであり独自拡張が可能

複数サーバで大量に生成されたログデータを効率的に収集する 分散化、高可用性、高信頼性なツール

Page 40: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 40

Agentを連結して、集約・中継する Flumeの基本ユースケース

Agent

Agent

Agent

Agent

データを取得するサーバ

集約・中継サーバ

データストア

ローカルファイルをtailして 集約・中継サーバへ送信する

HDFS/ HBase

前段のAgentから受信したデータを集約・中継し、データストアへ格納する

logfile

logfile

logfile

Page 41: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 41

Flume検証:フェイルオーバー

HBase

シンクの書き込み先にサーバB、サーバCのFlume Agentを指定。

サーバBが落ちた際にはサーバCの経路で書き込む

Agent

Agent

サーバB

サーバC

フェイルオーバー

サーバA

中継サーバを冗長構成して出力の失敗時にフェイルオーバーする

Agent

logfile

Page 42: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 42

HBaseを入出力としたMapReduce処理検証 処理概要図

rowkey User Usage Time

12828734 user01 250 19:02

18609451 user07 40 19:12

22104862 user03 190 20:23

26153441 user01 80 20:49

38716274 user03 20 21:19

40187234 user04 150 21:54

・・・

91018736 user07 60 22:40

94092145 user05 230 23:49

Map Reduce

Map

Map

Reduce

・・・

Region単位でMap処理が起動して、 Regionの各レコードがMap関数の入力となる。

Map処理では必要な情報を抽出する。

例) Key:Value = <User>:<Usage>

Reduce

・・・

User Usage

User01 330

User03 210

User04 370

User07 100

… …

入力テーブル(HBase)

出力テーブル (HBase)

同じkeyのデータは同じReduce処理の入力となる。 Reduce処理では同じkeyを持つデータ群に対して特

定の解析処理をする。

例) valueをすべて加算する

User07 40

User07 60

“user01”のkeyを持つレコードはすべて1つのReduce処理に集約される

User01 250

User01 80

Regio

n

Regio

n

Regio

n

Page 43: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

まとめ

• BigDataの広がりとHPの取り組み

• Hadoopのご紹介

• HBaseのご紹介

• Hadoop適用方法

• Hadoop管理・監視

• 検証事例

Page 44: BigDataにおけるHadoop へ の取組および検証事例紹介jp-redhat.com/forum/2012/pdf/2-B.pdf · 2013-07-10 · れている大規模なデータを、複数のサーバで時

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Thank you