Your SlideShare is downloading. ×
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

1,684
views

Published on


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

No Downloads
Views
Total Views
1,684
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
13
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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