Fluentdでログを集めてGlusterFS     に保存してMapReduceで集計	                maebashi	  @	  IIJ	2012/11	   Copyright	  (c)	  2012	  Inter...
キーワード	              Fluentd             GlusterFS            MapReduce2012/11	    Copyright	  (c)	  2012	  Internet	  IniC...
GlusterFS とは?	                                                         FUSEでマウントして	                                       ...
特別なプラグインなしでログ保存可能	2012/11	   Copyright	  (c)	  2012	  Internet	  IniCaCve	  Japan	  Inc.	   4
ファイル名に応じて分散	                                                     time_slice_format %Y%m%d	2012/11	     Copyright	  (c)	  2...
ファイル群を分散処理したい	                                               分散して格納されているので	                                               ...
pmux	•  pipeline	  mulCplexer	  に由来	  •  標準入出力を介してMapReduce	  するためのコ   マンドラインツール	      $ pmux --mapper="grep PATTERN" /glu...
似ているもの	        • Hadoop	  Streaming	        • GNU	  Parallel	          • GXP	  2012/11	       Copyright	  (c)	  2012	  Int...
インストール	                                                                           pmuxコマンドは	                              ...
仕組み	今回は mapper	  のみを使った場合を説明します	    (reducerが絡むと、もうちょっと複雑)	  2012/11	   Copyright	  (c)	  2012	  Internet	  IniCaCve	  Jap...
1.対象file群の実体の位置を確認	                                                                           pmuxコマンドは	                   ...
2.	  sshで各ノードのpmuxを起動	2012/11	    Copyright	  (c)	  2012	  Internet	  IniCaCve	  Japan	  Inc.	   12
3.	  ノードにタスクを分配して実行	2012/11	   Copyright	  (c)	  2012	  Internet	  IniCaCve	  Japan	  Inc.	   13
4.	  結果を集める	                                            resultが巨大な場合はscpを使う	2012/11	    Copyright	  (c)	  2012	  Internet	...
ベンチマークテスト	                          こんなかんじのログの	      2012-­‐11-­‐01T23:50:22+09:00      	  apache.access 	  {"host":	     ...
•  pmux	  使わない場合	          $ ./sum.rb /glusterfs/*.log.gz!•  pmux	  使う場合	        $ pmux --file=sum.rb --mapper=sum.rb !   ...
•  pmux	  使わない場合	                                       94分55秒	        $ ./sum.rb /glusterfs/*.log.gz!•  pmux	  使う場合	     ...
•  pmux	  使わない場合	                                       94分55秒	        $ ./sum.rb /glusterfs/*.log.gz!•  pmux	  使う場合 ノード40...
なぜ40台しかないのに162倍?	•  1台あたり8コアのCPUを使っているから	  •  ならば320倍になるのでは?	        –  諸々のオーバーヘッドでそこまでいかない	        –  対象ファイルのサイズにバラツキがあり均...
今後	•  テキストファイルじゃない形式で保存すれば   もっと効率良くなるかも	2012/11	   Copyright	  (c)	  2012	  Internet	  IniCaCve	  Japan	  Inc.	   20
Upcoming SlideShare
Loading in …5
×

Fluentdでログを集めてGlusterFSに保存してMapReduceで集計

2,271 views

Published on

0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,271
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
17
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Fluentdでログを集めてGlusterFSに保存してMapReduceで集計

  1. 1. Fluentdでログを集めてGlusterFS に保存してMapReduceで集計 maebashi  @  IIJ 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 1
  2. 2. キーワード Fluentd GlusterFS MapReduce2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 2
  3. 3. GlusterFS とは? FUSEでマウントして   普通のファイルシステム   として見える 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 3
  4. 4. 特別なプラグインなしでログ保存可能 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 4
  5. 5. ファイル名に応じて分散 time_slice_format %Y%m%d 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 5
  6. 6. ファイル群を分散処理したい 分散して格納されているので   各ノードでコマンドを適用して   結果を集めればよい   → というツールを作った 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 6
  7. 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. 8. 似ているもの • Hadoop  Streaming • GNU  Parallel   • GXP  2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 8
  9. 9. インストール pmuxコマンドは   ここで実行 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 9
  10. 10. 仕組み 今回は mapper  のみを使った場合を説明します   (reducerが絡むと、もうちょっと複雑)  2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 10
  11. 11. 1.対象file群の実体の位置を確認 pmuxコマンドは   ここで実行 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 11
  12. 12. 2.  sshで各ノードのpmuxを起動 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 12
  13. 13. 3.  ノードにタスクを分配して実行 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 13
  14. 14. 4.  結果を集める resultが巨大な場合はscpを使う 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 14
  15. 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. 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. 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. 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
  19. 19. なぜ40台しかないのに162倍? •  1台あたり8コアのCPUを使っているから  •  ならば320倍になるのでは?   –  諸々のオーバーヘッドでそこまでいかない   –  対象ファイルのサイズにバラツキがあり均等に分 かれない 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 19
  20. 20. 今後 •  テキストファイルじゃない形式で保存すれば もっと効率良くなるかも 2012/11 Copyright  (c)  2012  Internet  IniCaCve  Japan  Inc. 20

×