SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Fluentdでログを集めてGlusterFS
     に保存してMapReduceで集計	
                maebashi	
  @	
  IIJ	




2012/11	
   Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   1
キーワード	

              Fluentd
             GlusterFS
            MapReduce

2012/11	
    Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   2
GlusterFS とは?	




                                                         FUSEでマウントして	
  
                                                         普通のファイルシステム	
  
                                                         として見える	




2012/11	
    Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   3
特別なプラグインなしでログ保存可能	




2012/11	
   Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   4
ファイル名に応じて分散	




                                                     time_slice_format %Y%m%d	




2012/11	
     Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   5
ファイル群を分散処理したい	




                                               分散して格納されているので	
  
                                               各ノードでコマンドを適用して	
  
                                               結果を集めればよい	
  
                                               → というツールを作った	
2012/11	
       Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   6
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
似ているもの	

        • Hadoop	
  Streaming	
        • GNU	
  Parallel	
  
        • GXP	
  



2012/11	
       Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   8
インストール	




                                                                           pmuxコマンドは	
  
                                                                           ここで実行	

2012/11	
   Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
            9
仕組み	

今回は mapper	
  のみを使った場合を説明します	
  
  (reducerが絡むと、もうちょっと複雑)	
  




2012/11	
   Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   10
1.対象file群の実体の位置を確認	




                                                                           pmuxコマンドは	
  
                                                                           ここで実行	

2012/11	
   Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
            11
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	
  IniCaCve	
  Japan	
  Inc.	
   14
ベンチマークテスト	
                          こんなかんじのログの	
      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
•  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
•  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
•  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
なぜ40台しかないのに162倍?	
•  1台あたり8コアのCPUを使っているから	
  

•  ならば320倍になるのでは?	
  
      –  諸々のオーバーヘッドでそこまでいかない	
  
      –  対象ファイルのサイズにバラツキがあり均等に分
         かれない	




2012/11	
    Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   19
今後	
•  テキストファイルじゃない形式で保存すれば
   もっと効率良くなるかも	




2012/11	
   Copyright	
  (c)	
  2012	
  Internet	
  IniCaCve	
  Japan	
  Inc.	
   20

Más contenido relacionado

La actualidad más candente

Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpugYasuhiro Matsuo
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報Emma Haruka Iwao
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Masaru Watanabe
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?Naoto Gohko
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月VirtualTech Japan Inc.
 
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也Preferred Networks
 
フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用Ikuo Kumagai
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterPreferred Networks
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介Preferred Networks
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Manabu Ori
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化JubatusOfficial
 
実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選Drecom Co., Ltd.
 
Jubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatusOfficial
 
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話真治 米田
 
Ceph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowCeph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowEmma Haruka Iwao
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Emma Haruka Iwao
 
リアルタイム処理エンジン Gearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジン Gearpumpの紹介Sotaro Kimura
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred NetworksPreferred Networks
 

La actualidad más candente (20)

Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
 
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
 
フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
 
実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選
 
Jubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatus 新機能ハイライト
Jubatus 新機能ハイライト
 
Scaling
ScalingScaling
Scaling
 
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
 
Ceph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowCeph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and How
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
リアルタイム処理エンジン Gearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジン Gearpumpの紹介
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred Networks
 

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

Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...NTT DATA Technology & Innovation
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)l_b__
 
Windows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみたWindows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみたHikari Morita
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~じゅん なかざ
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較真治 米田
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!KLab株式会社
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)NTT DATA Technology & Innovation
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムSatoshi Iijima
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...NTT DATA Technology & Innovation
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報Midori Oge
 

Similar a Fluentdでログを集めてGlusterFSに保存してMapReduceで集計 (20)

Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
DPDKを拡張してみた話し
DPDKを拡張してみた話しDPDKを拡張してみた話し
DPDKを拡張してみた話し
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
 
Windows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみたWindows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみた
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システム
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報
 

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
  • 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