© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
BigDataにおけるHadoopへ
の取組および検証事例紹介
日本ヒューレット・パッカード株式会社
テクノロジーサービス事業統括 テクノロジーコンサルティング統括本部
データセンターソリューション第一本部 コアテクノロジー部
惣道 哲也
2012年10月22日
© 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管理・監視
• 検証事例
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
BigDataの広がりと
HPの取り組み
© 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億通
ソーシャル
メディア
オーディオ
ビデオ
テキスト
ドキュメント
イメージ
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 5
今まで活用できなかったデータ
を利用してビジネスを
創造
今まで課題であった
処理能力
の革新
ビックデータが生む課題と機会
差別化可能な新たな
ビジネスの発見
新しいテクノロジー
の登場
技術の進歩
テキスト、音声など、人のアイディアと情報で構成される
「ヒューマンインフォメーション」が急増
全データの
70%は個人によって生成
機械から得られる「エクストリームデータ」は、多様な形態
で生成
デジタルデータの増加
新しいビジネス機会と課題
ビッグデータがもたらすイノベーション
(Disruptive Innovation)
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 6
HPの取り組みと方向性
ソリューション
リファレンスモデル
営業体制強化
パートナー協調
市場の創造
ビッグデータ
フレームワーク
ポートフォリオ
全社ビッグデータ
タスクフォース
通信
製造
金融
流通
公益公共
HPビッグデータ
コンサルティング
サービス
© 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
Sector
Public
HP ビッグデータフレームワーク
HP ビッグデータ
バッチ処理高速化
コンサルティング
サービス
Hadoop HBase
サービス
RESQ
Autonomy
エクストリームデータ
Hadoop導入コンサルティングサービス
© 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 ビッグデータバッチ処理高速化コンサルティングサービス
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
© 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…)
© 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)
© 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つのファイルシステムを構成
• 大きなファイルを分割して複数の
サーバに保持
• 複数台のサーバーにデータを複数コ
ピーして保持する事で冗長性を担保
Str
eaming
H
iv
e
Pi
g
標準
A
PI
© 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処
理に割り当ててスケールアウトを実現する
© 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
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
© 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)
© 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
Regionserver
DN, TT
DN, TT
Regionserver
Regionserver
DN, TT
Regionserver
DN, TT
© 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
© 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
書き込み
© 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
書き込み継続
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
© 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適用
データの集計・抽出・分析・時系列解析・変換などの処理から構成される業
務システムに適しています。
個々の顧客に関する様々な購
買履歴や行動特性を詳細に分
析することで、より適切なレコメ
ンデーションを実施
日本全国の各種デバイスからの情報
の蓄積および分析を高速に実施
•位置情報データ
•気象データ
•消費電力データ
•車載センサー情報
クレジットカードの利用状況(トラ
ンザクション情報)をもとに、不正
利用が行われていないかを分析
© 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
バッチ処理ロジック
結果データ転送
© 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導入
分析
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
© 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
© 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画面に表示
© 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クラスタの負荷
状況を一画面で閲覧
システム全体の把握から、個々のサーバやコンポーネントの詳細まで把握可能!
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
© 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での処理
をテストする。
© 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
既存バッチシステム
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 32
検証環境構成概要図
Datanode01
(ProLiant DL380 G7)
(ProLiant DL380 G7)
Datanode02
Datanode06
(ProLiant DL385 G7)
(ProLiant DL385 G7)
Datanode07
(ProLiant DL385 G7)
Datanode08
Datanode03
(ProLiant DL380 G7)
(ProLiant DL380 G7)
Datanode04
(ProLiant DL380 G7)
Datanode05
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
© 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)
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 34
Hadoop処理性能
1
秒
当
た
り
の
デ
ー
タ
処
理
量
(
M
B/
s
)
ノード数
50
70
90
110
130
150
170
190
1
2
3
4
5
6
7
8
1秒当たりのデータ処理量( 約100GBのデータ)
1秒当たりのデータ処理量
© 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データの処理時間
© 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)
© 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秒
© 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
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 39
Flume検証
Flumeとは? 「エージェントベースのデータ収集・格納フレームワーク」
信頼性
Agentダウン時もデータ永続性を保証(チャンネル上でデータ保持)
データ転送はトランザクション管理が行われるため、ロールバック・リトライが可能
スケーラビリティ
Agentノードを水平方向にスケールアウト可能
管理性
単一プロパティファイルで設定可能。設定変更は自動再読み込みされる
拡張性
ソース、シンクはプラグインアーキテクチャであり独自拡張が可能
複数サーバで大量に生成されたログデータを効率的に収集する
分散化、高可用性、高信頼性なツール
© 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
© 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
© 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
Regi
on
Regi
on
Regi
on
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
まとめ
• BigDataの広がりとHPの取り組み
• Hadoopのご紹介
• HBaseのご紹介
• Hadoop適用方法
• Hadoop管理・監視
• 検証事例
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.