Contenu connexe
Similaire à Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Similaire à Fluentdでログを集めてGlusterFSに保存してMapReduceで集計 (20)
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
- 1. Fluentdでログを集めてGlusterFS
に保存してMapReduceで集計
maebashi
@
IIJ
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
1
- 2. キーワード
Fluentd
GlusterFS
MapReduce
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
2
- 3. GlusterFS とは?
FUSEでマウントして
普通のファイルシステム
として見える
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
3
- 5. ファイル名に応じて分散
time_slice_format %Y%m%d
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
5
- 6. ファイル群を分散処理したい
分散して格納されているので
各ノードでコマンドを適用して
結果を集めればよい
→ というツールを作った
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
6
- 7. pmux
• pipeline
mulCplexer
に由来
• 標準入出力を介してMapReduce
するためのコ
マンドラインツール
$ pmux --mapper="grep PATTERN" /glusterfs/*.log!
• ファイルベース(chunkに分割しない)
– GlusterFSのdistributed,
replicated
volumeに対応
• hKps://github.com/iij/pmux
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
7
- 8. 似ているもの
• Hadoop
Streaming
• GNU
Parallel
• GXP
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
8
- 9. インストール
pmuxコマンドは
ここで実行
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
9
- 11. 1.対象file群の実体の位置を確認
pmuxコマンドは
ここで実行
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
11
- 14. 4.
結果を集める
resultが巨大な場合はscpを使う
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
14
- 15. ベンチマークテスト
こんなかんじのログの
2012-‐11-‐01T23:50:22+09:00
apache.access
{"host":
"192.168.16.153","user":"-‐","method":"GET","path":"/0123456789
10000","code":"200","size":"1513395608","referer":"-‐","agent":"-‐",
"inbyte":"162","outbyte":"233396987"}
size,
inbyte,
outbyteを集計する
665ファイル、1億6300万行
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
15
- 16. • pmux
使わない場合
$ ./sum.rb /glusterfs/*.log.gz!
• pmux
使う場合
$ pmux --file=sum.rb --mapper=sum.rb !
/glusterfs/*.log.gz | ./sum.rb!
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
16
- 17. • pmux
使わない場合
94分55秒
$ ./sum.rb /glusterfs/*.log.gz!
• pmux
使う場合
$ pmux --file=sum.rb --mapper=sum.rb !
/glusterfs/*.log.gz | ./sum.rb!
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
17
- 18. • pmux
使わない場合
94分55秒
$ ./sum.rb /glusterfs/*.log.gz!
• pmux
使う場合 ノード40台で
35秒
$ pmux --file=sum.rb --mapper=sum.rb !
/glusterfs/*.log.gz | ./sum.rb!
162倍
2012/11
Copyright
(c)
2012
Internet
IniCaCve
Japan
Inc.
18