スライド 1

Download Report

Transcript スライド 1

1
Hadoopのご紹介
Hadoopのご紹介
目次
1. 背景
・ ビッグデータ時代の到来
・ 膨大な情報から価値ある情報を抽出するニーズ
2. Hadoop
・
・
・
・
・
・
・
概要
Hadoopの特徴
大規模データの処理
RDBMSの得意不得意
Hadoopの得意不得意
RDBMSとHadoopの技術比較
Hadoopの2大構成要素( HDFS環境構成、 MapReduce )
3. 実績と効果
・
・
・
・
某キャリア社システム、ログ分析基盤
某キャリア社システム、課金基盤
某キャリア社システム、債権基盤
YIDATECの強み、フレームワークの説明
4. Hadoop関連プロダクトのご紹介
・ Hadoop関連プロダクト(一部)各機能・特徴
5. 分析基盤のアーキテクチャの中、Hadoopの位置づけ
2
1.背景
■ Hadoopが注目された背景
大規模データの保管と大規模データの分析
1).ビッグデータ時代の到来
・ バックアップできない
・ RDBMS処理できない
2).膨大な情報から価値ある情報を抽出するニーズ
・ 大規模データの各データ間の分析したい
・ マーケティングデータとして活用したい
3
1.背景
4
1).ビッグデータ時代の到来
・ 時間の経過につれてデータ量が爆発
商品
売る!
規模により、
スケールアウト
年度
1.背景
5
2).膨大な情報から価値ある情報を抽出するニーズ
・ マーケティングデータとして活用したい
今後5年で50
倍の増加
大量なデータ
画像データ センサーデータ 交通データ
業務ログ
気象データ
販売データ
Web/メール オフィス文書 SNS/Twitter
非構造化デー
タは顕著に増
加
1.背景
■ 中国での導入事例
・ 百度(中国の検索大手)
検索ログ分析、WEBアクセスログ分析
・ 淘宝網(タオバオワン)
アジア最大の ショッピング サイト、電子マネーなど購入
情報の蓄積、分析
・ 中国移動(5億ユーザのキャリア会社)
Hadoopのシステム(BigCloud)、データ分析および
通話料問い合わせのサービス提供
6
2.Hadoop
1).概要
■ 大規模なデータをバッチ処理するための
並列分散処理基盤。
並列分散処理とは、ある1つの処理を
分割して、同時に処理を行うことを指す。
並列分散処理することで処理時間を
短縮することができる。
7
2.Hadoop
2).特徴
8
2.Hadoop
3).大規模データの処理
■ ディスク容量の向上、CPUパワーの向上
・ データを処理しきれない
・ CPUを使いきれない
⇒ディスクアクセス性能の向上
■ データを分散
・ 障害発生への対応が必要
・ データの同期、統合が困難
⇒ディスクI/Oを分散、CPUの有効利用
9
2.Hadoop
10
4).RDBMSの得意不得意
RDBMS
得意
不得意
・ 細かいデータのインデック
ス高速検索
・ 細かいデータの更新が得
意
・ データ一貫性の保証
・ 大規模処理(ディスクI/O以上の性能は
出せない)
・ スケールアウト(並列分散処理)が困難
・ データ可用性を高めることが困難
・ クラスタリングの運用が困難
2.Hadoop
11
5).Hadoopの得意不得意
Hadoop
得意
不得意
・
・
・
・
・ RDBMSが得意なトランザクション一貫性保証
・ データの更新
・ OLTP処理のような”秒”以下のレイテンシが必
要な処理
(Hadoopの処理は”分”のオーダで処理が終
わる)
高スループット処理
高スケーラビリティ
高可用性
安価なサーバで構成可能
2.Hadoop
6).RDBMSとHadoopの技術比較
12
2.Hadoop
13
●処理
RDBMS
Hadoop
扱うデータサイズ
~数テラバイト
ペタバイト
想定するデータ操作
小さなデータの参照/更新
大きなデータの挿入/参照。更新なし
レスポンスタイム
速い
遅い
性能向上策
サーバの性能向上
サーバの台数向上
データの構造
構造化データ
準構造化データ
●DB
特徴
RDBMS
NoSQL
・読み取り一貫性
・更新処理が多く、トランザクショ
ンを意識する処理に向く
・データ同士の関連性を定義でき
る
・トランザクションがない(処理途中のデータが見
える)
・分散処理に向く
・リレーションがない
・拡張性、柔軟性が高い
2.Hadoop
7).Hadoopの2大構成要素
■ HDFS
・ Hadoopのファイルシステム
・ 大規模分散ストレージ
■ MapReduce
・ Hadoopの分散処理フレームワーク
14
2.Hadoop
15
① HDFS(Hadoopのファイルシステム)の構成
HDFS:Hadoop Distributed File System
ファイル要求
NameNode
管理監視
操作者
データ
送受信
DataNodes
DataNodes
DataNodes
DataNodes
DataNodes
2.Hadoop
16
② HDFSの耐障害性確保の仕組み
元ファイ
ル
1
2
3
4
HDFS
1
2
1
3
1
2
3
4
3
2
4
4
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
2.Hadoop
17
③ MapReduce
HDFS
Map
処理
入力ファイル
プログラム
入力ファイル
プログラム
Shuffle
Reduce
処理
処理
HDFS
中間
データ
出力ファイル
プログラム
入力ファイル
プログラム
出力ファイル
入力ファイル
プログラム
入力ファイル
プログラム
入力ファイル
プログラム
プログラム
3.実績と効果
1) 某キャリア社システム、ログ分析基盤
2) 某キャリア社システム、課金基盤
3) 某キャリア社システム、債権基盤
4) 某キャリア社システム、DWH一部Hadoo化
5) YIDATECの強み
18
3.実績と効果
1) 某キャリア社システム、ログ分析基盤
【課題】
・1日処理2T、現在データ総量40Tの処理、従来のRDBMSでは処理できない
・レコメンドエンジンコンポーネント導入に伴い、Hadoop処理でなければ難しい
・ビッグデータスペシャリストの育成
【解決策】
・某キャリア社システム、ログ分析基盤コンポネントにて、他コンポネントから、
ユーザ契約情報、決済情報ならびに、トルカ、iスケジュール、Music、
Video、
Book、アニメ、ゲームサービスの利用履歴の収集、利用金額の計算、
必要な情報を集約して、他システムに提供する。
また、レコメンドエンジンコンポネントから各サービスの利用状況を分析して、
お勧め度を決めて、レコメンド情報を収集してオンラインシステムに提供す
る。
19
3.実績と効果
20
1) 某キャリア社システム、ログ分析基盤
【概念図】
レコメンドエンジン
他コンポネント
契約ログファイル
他コンポネント
オンライン
コンポネント
ログ分析基盤
履歴情報ファイル
レコメンド情報
集約した
金額合計など
YIDATEC CONFIDENTIAL
3.実績と効果
21
1) 某キャリア社システム、ログ分析基盤
【配置図】
L3SW
NameNode
2台
2台
JobTracker
2台
運用監視
2台
エンジン
L2SW
L2SW
L2SW
L2SW
L2SW
L2SW
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
ラック
ラック
ラック
YIDATEC CONFIDENTIAL
ラック
ラック
ラック
3.実績と効果
22
1) 某キャリア社システム、ログ分析基盤
【性能比較】
YIDATEC CONFIDENTIAL
3.実績と効果
23
1) 某キャリア社システム、ログ分析基盤
【効果】
以前は、1ヶ月の利用履歴収集に、1回
2時間程度要していたため、1日2~3回
しか収集できなかった。
Hadoopの投入により、7ヶ月の利用履歴
収集が、1回10分程度で行えるようにな
り、オンラインで随時実行できる。
YIDATEC CONFIDENTIAL
3.実績と効果
2) 某キャリア社システム、課金基盤
【課題】
・業務データ量が増加していて、従来のRDBMS処理できない
・ロジック煩雑化、てんこ盛り状態
・タリフ作業頻度大
【解決策】
・Hadoop基盤による並列処理やスケールアウトで対応
・データの整形/クレンジング処理をHadoop(MapReduce)で高速に実現
・Hbaseへのデータ格納でREST APIに対応
24
3.実績と効果
25
2) 某キャリア社システム、課金基盤
【概念図】
ESB
外部
分散
リアルタイム処理
フォーマット変換
&
課金処理
Storm
データストア
顧客
データ
プラン
情報
大量データバッチ処理
分析
シミュレーション
Hadoop
YIDATEC CONFIDENTIAL
課金対象
データ
月次課金
計算
3.実績と効果
26
2) 某キャリア社システム、課金基盤
【配置図】
Node
Node
Node
Node
Node
Node
Strom
+
+
Apache ZooKeeper
YIDATEC CONFIDENTIAL
3.実績と効果
27
2) 某キャリア社システム、課金基盤
【性能比較】
YIDATEC CONFIDENTIAL
3.実績と効果
28
2) 某キャリア社システム、課金基盤
【効果】
After
Before
加入者、通信料増加に伴い、処理時間も増加
分散処理、スケールアウトすることにより、
処理時間の増加を抑えることができる
処理時間
通信量(利用料)
加入者
YIDATEC CONFIDENTIAL
通信量(利用料)
処理時間
加入者
3.実績と効果
3) 某キャリア社システム、債権基盤
【課題】
・現在のデータ総量が多すぎて、従来のRDBMS処理できない
・処理時間オーバー
【解決策】
・Sqoopより、OracleデータベースのテーブルをHDFS上へ分散してImportする。
・ Importされたファイルを業務にて、 編集処理を行う。(Hadoopで実装する)
・HadoopのMapReduce処理されたファイルを、SqoopでMySQLにExportする。
29
3.実績と効果
30
3) 某キャリア社システム、債権基盤
【概念図】
Import
Oracle
Sqoop
Export
Inputディレクト
リ
Workディレクト
リ
Hadoop
Onputディレクト
リ
MySQL
Nodes
YIDATEC CONFIDENTIAL
HDFS
MapReduce
3.実績と効果
31
3) 某キャリア社システム、債権基盤
【配置図】
NameNode
Oracle
MySQL
HDFS
DataNode 1
DataNode 2
DataNode 3
YIDATEC CONFIDENTIAL
DataNode 4
3.実績と効果
32
3) 某キャリア社システム、債権基盤
【性能比較】
YIDATEC CONFIDENTIAL
3.実績と効果
33
3) 某キャリア社システム、債権基盤
【効果】
RDBMS方式
安く!早く!速く!
データ
更新3
Hadoop方式
Export
Sqoop
データ
更新2
Map
Reduce
データ
更新1
データ
挿入2
Import2
データ
挿入1
Import1
YIDATEC CONFIDENTIAL
Hadoop
Sqoop
Sqoop
3.実績と効果
4) 某キャリア社システム、DWH一部Hadoop化
【課題】
・通信履歴の種類、データ量の急激増加により、既存のDWH容量
・日時の夜間バッチ時間、大幅オーバー、I/O、CPUの負荷が高い
・DWHのバージョンアップなど、保守費用が高い
【解決策】
・現フェーズは、最もサイズが大きいのパケット履歴、MMSパケット履歴を
Hadoop環境に載せる。
※将来的に、DWHシステムをすべてHadoop環境に切り替わる。
・既存のDWHバッチ処理のSQL文をHQL(HiveのSQL)に変更する。
34
3.実績と効果
35
4) 某キャリア社システム、DWH一部Hadoop化
【概念図】
受
信
フ
ァ
イ
ル
展
開
ロ
|
ド
処
理
DWH
当月
当月新
既存
既存データ作成
新CDRデータ作成
データ洗い替え
先月新
先月
H
D
F
S
に
格
納
HDFS + HIVE
当月
既存
先月
当月新
既存データ作成
新CDRデータ作成
先月新
ア
ク
セ
ス
A
P
I
サ
|
バ
|
3.実績と効果
36
4) 某キャリア社システム、DWH一部Hadoop化
【配置図】
L3SW
NameNode
2台
2台
JobTracker
2台
運用監視
2台
Hiveクライアント
L2SW
L2SW
L2SW
L2SW
L2SW
L2SW
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
スレーブPC
ラック
ラック
ラック
ラック
ラック
ラック
3.実績と効果
37
4) 某キャリア社システム、DWH一部Hadoop化
【効果】
・ DHW容量の大幅削減
パケット履歴、MMSパケット履歴は18TのデータはHDFS上管理する
・ 日バッチ処理、I/O(Read)、CPU負荷の削減
・ 日中時間帯の軽技Webによる Read I/O 負荷のオフロード
YIDATEC CONFIDENTIAL
3.実績と効果
38
4) YIDATECの強み
調査
サポート
開発
グローバ
ル開発サ
ポート
⇒大連側
バックアッ
プにもでき
る
Hadoop
精通技術者
4名
品質管理
セキュリティ
管理
Hadoopのフレームワークが持っている
⇒既存の複雑な業務処理に適応実績がある
サービス
YIDATEC CONFIDENTIAL
3.実績と効果
39
4) YIDATECの強み


大規模開発のオリジナルのフレームワークを持っている
日本側、業務適応実績、2件
中国側、適応実績、1件
Hadoopの特徴を活かして、業務実現に向かって、提案、設計できる
データ量に応じて、サブジョブの投入など

各種障害時の対応、健全な商用システムなど各種知識

Hadoopの関連プロダクト商用経験がある
Sqoop、Hbase、Hive
開発の流れ、チェックポイント箇所の抑え、失敗から得た経験などを
活かし、開発の効率向上


環境構築、JobCenterの構築、監視の使用経験がある

要員体制
商用まで経験者4名、大連側技術研究、技術サポート体制がある
YIDATEC CONFIDENTIAL
Hadoopフレームワーク位置づけ
シームレス・データ連携
定型
JDBC
RDB
Strea
m
Socket
等
収集
参照
蓄積
ロケーション
ライフサイクル
処理
RDB
Storage
Hadoop
BI
Access API Server
File
コンポーネント非依存
Enterprise Service Bus
非定型
HTTP
FTP
fluentd
NFS
等
40
HTTP
HTTPS
等
WebSocket
ライフサイクル管理
情報分析基盤システム
認証・認可
Report
Custo
m
セキュア・アクセスコントロール
Hadoopフレームワーク位置づけ
■ 開発時
CDHのCore.jarファイルと同様、EclipseのLibに導入する。
■ リリース
業務用のJarファイルと同時デプロィする。
■ 主な機能
Storegeなど転送されているファイルをInputとして、フレームワークを
利用してMapReduce処理を行い、集約したファイルをAcess APIサー
バに
提供する。
YIDATEC CONFIDENTIAL
41
フレームワークの処理フロー図
BaseMapReduce
Controller
Mapper
42
Reducer
Reader
前処理
前処理のコールバック
・Mapper定義
・Reducer定義
・各種情報をconfに設定
・入力ファイルんパス設定
・入力ファイルをレ
コード単位読み込み、
チェック処理
・runningを呼び出しMapperを
実行
・Hadoopのフレーム
ワークに出力する
Sufleに渡す
partitioner、comparator
Hadoopの振り分け、比較処
理
・runningを呼び出し、
Reducerを実行
・集約単位のデータ
を読み込み
後処理
後処理のコールバック
・Mapper、Reducerのエラー検出
・ファイルのマージ処理
・キャバログ
YIDATEC CONFIDENTIAL
・Hdfsにファイルを出
力
Writer
フレームワーク概要
43
■ Cloudera社のCDH3u6をラップして、大規模開発向けのフレームワーク
■データの取り扱いについて
 データの入力
データベースからエクスポートしたUTF-8にてエンコードされた
CSVファイルをHDFS上に格納して、ジョブ実行中各スレーブ
からHDFSを参照する
 データ処理の高速化
MapReducerの入出力、及び中間データはGzipを利用して、
圧縮解凍を行う。そのため、ローカルnativeライブラリが必要と
する。
■共通部品について
 hadoopクラスタ環境の管理や、開発を簡素化、迅速化
MapReducerジョブの定義、全処理、後処理
 HDFS上ファイル、ディレクトリの操作
履歴の全件、差分に対応するため、ディレクトリを日付に定義
シーケンスファイル対応するため、Prefixを定義
YIDATEC CONFIDENTIAL
フレームワークの概要
■ログの出力について
 Pointing専用ロガーを利用する
スレーブサーバ側log4jを利用してローカルに出力
◆マスタサーバ側、ログの収集
◆キャパシティログの収集
■メッセージの出力について
通常のJava仕組み
■ジョブスケジューラーについて
hadoop提供のキュー仕組みを利用すること。
キューに追加したジョブの実行順、優先順位など設定できる。
複数のキューを利用する時、Hadoop提供するsetQueueName
を利用する
■単体テストについて
・MRUnitを利用する、各種ドライバを利用する
■本番運用ツールについて
・ジョブの状態(開始、実行中、終了)の監視
・ジョブの強制終了
YIDATEC CONFIDENTIAL
44
4.Hadoop関連プロダクトのご紹介
1).Hadoop関連プロダクト一覧(一部)
2).Hadoop関連プロダクト(一部)各機能・特徴
45
4.Hadoop関連プロダクトのご紹介
1).Hadoop関連プロダクト一覧(一部)
46
4.Hadoop関連プロダクトのご紹介
47
2).Hadoop関連プロダクト(一部)各機能・特徴
No.
プロダクト名
機能・特徴
備考
1
HBase
オープンソースの、列指向、分散データベースであり、Googleの
BigTableをモデルとし、Javaにより書かれている。
2
Pig
Hadoop上のMapReduce処理をアドホックに実行できるツールである。
る。
MapReduceプログラミング
3
Hive
Facebook社のメンバーが主体となって開発されているツールである。
Apache.orgのプロジェクトとして開発が進められ、HiveQLと呼ばれる処
る処理言語で、処理したい内容をSQLライクに定義できる。
MapReduceプログラミング
4
Sqoop
Hadoopとリレーショナルデータベースなどの構造データストア間で大量
量の生データを効率的にやり取りするためのツールである。
RDBMSデータの利用
5
Oozie
Javaサーブレットコンテナで動作するJavaのWebアプリケーションである
ある。
ワークフロー管理
6
Thrift
「スケーラブルな言語間サービス開発」のためにFacebookにて開発され
れたRPCフレームワークである。
7
ZooKeeper
Apacheソフトウェア財団のオープンソースプロジェクトで、大l規模分散
散システムでよく利用される、設定情報の集中管理や名前付けなどの
サービスを提供するソフトウェアである。
Hadoopのサブプロジェクトの一つである。
情報分析基盤システム構想:Cloudera Hadoopの実例
HDFS
RDB
Sqoop
Hive
HDFS
API
HBase
KVS
HDFS
RPC
Java
Cloudera Hadoop
Hadoop
HiveQL
HDFS
Access API Server
RDB
HDF
S
Storage
SQL
HDFS
Exadata
等
Impala
fluentd
Server
fluentd
Enterprise Service Bus
Ftp
Server
Ftp
Client
ロケーション
ライフサイクル
Oracle
Connector
or
JDBC
48
認証・認可
Hadoopのご紹介
ご清聴ありがとうございました
49