SlideShare a Scribd company logo
OSSで支えられる
              ライブドアの巨大ログ集計
                        - HiveとFluentd -


              第2回 NHNテクノロジーカンファレンス
                                   2012/08/18
                 TAGOMORI Satoshi (@tagomoris)




12年8月18日土曜日
TAGOMORI Satoshi (@tagomoris)

        NHNJapan株式会社 ウェブサービス本部 開発2室




12年8月18日土曜日
今日の話


        どういうことをやっているかの話

        機能とコンポーネント分離の話

        規模の拡大とデプロイの話


12年8月18日土曜日
どういうことをやっているかの話




12年8月18日土曜日
アクセスログ収集・集計

        システム・サービスの稼動状況を明確にする

              PV, UUの集計

              HTTPレスポンスコード毎の割合の時系列変化

              レスポンスタイムの統計・時系列変化

        そのほか必要に応じたログ調査など


12年8月18日土曜日
概要
                 Web Server
                                             Fluentd
                               log
         Web Server                                info

                                                            Graphs
                                                          (GrowthForecast)
                                             log
        Hive Client
                       query

                               Hive Server
                                         Hadoop/HDFS


12年8月18日土曜日
構成ソフトウェア

        Hadoop Cluster (Hadoop, Hive)

              CDH3u5 + CentOS5 + JDK6

        Fluentd Cluster

              Fluentd 0.10.25 + CentOS5 + Ruby 1.9.3-p194 + jemalloc

        Others

              GrowthForecast, HRForecast

              fluent-agent-lite, Shib, ShibUI

12年8月18日土曜日
Hive

        オープンソースプロダクト

        Hadoop MapReduce のためのDSL(ドメイン特化言語)

              HiveQL というほぼSQLそのままのものを使える

              特に集計・統計においてパフォーマンスが良い

              Hive Server経由でRPCを使える


12年8月18日土曜日
Fluentd

        オープンソースプロダクト

        構造化ログ収集用ソフトウェア

              インストールが簡単、拡張性があり、比較的高速に動作

              プラグイン機構を備えていて豊富な公開プラグインが存在

              いくつかの機能を使うことでデータ処理にも使用可能


12年8月18日土曜日
アクセスログ収集・集計


        ログ収集・変換: Fluentd

        集計処理: Hive

        リアルタイム統計処理: Fluentd




12年8月18日土曜日
概要
                 Web Server
                                             Fluentd
                               log
         Web Server                                info

                                                            Graphs
                                                          (GrowthForecast)
                                             log
        Hive Client
                       query

                               Hive Server
                                         Hadoop/HDFS


12年8月18日土曜日
実装の詳細

        "Hive Tools in NHN Japan"
              Hadoop Source Code Reading vol.9 (2012/05/30)
              http://www.slideshare.net/tagomoris/hive-tools-in-nhn-japan-hadoopreading

        "Distributed message stream processing on Fluentd"
              Fluentd meetup in Japan #1 (2012/02/04)
              http://www.slideshare.net/tagomoris/distributed-stream-processing-on-fluentd-fluentd


        "Plugins by tagomoris"
              Fluentd Casual Talks (2012/05/18)
              http://www.slideshare.net/tagomoris/plugins-by-tagomoris-fluentdcasual




12年8月18日土曜日
実装の詳細
                                               ごめん、無理……

        "Hive Tools in NHN Japan"                                                         30分
              Hadoop Source Code Reading vol.9 (2012/05/30)
              http://www.slideshare.net/tagomoris/hive-tools-in-nhn-japan-hadoopreading

        "Distributed message stream processing on Fluentd"
              Fluentd meetup in Japan #1 (2012/02/04)
                                                                                                   60分
                                                                                                   30分
              http://www.slideshare.net/tagomoris/distributed-stream-processing-on-fluentd-fluentd


        "Plugins by tagomoris"
              Fluentd Casual Talks (2012/05/18)                     10分
                                                                    30分
              http://www.slideshare.net/tagomoris/plugins-by-tagomoris-fluentdcasual




12年8月18日土曜日
集計クエリの登録と実行


        Shib / ShibUI の画面でごらんください

              Shib でのクエリ入力と実行

              ShibUI でのクエリ登録、グラフの閲覧

              ShibUI でのクエリ作成




12年8月18日土曜日
Why We Don't Use
              Data Analytics Services?




12年8月18日土曜日
なぜ自分達で作るか

        なぜ Google Analytics (or others)じゃいけないのか?

        根拠: 数字の理由が説明可能でなければならない

        再現性: データさえあれば追試可能でなければならない

        機能と継続性の問題
              機能とコンポーネント分離の話
              規模の拡大とデプロイの話



12年8月18日土曜日
機能とコンポーネント分離の話




12年8月18日土曜日
コンポーネント分離

                     Hadoop / HDFS
                                              Hive Server



       例:Hive系                            Shib (node.js)


                                             ShibUI
                                 (Perl/Plack Web Application: Kossy)

        Users
     (Web Browser)
                                         HRForecast
12年8月18日土曜日
機能のアップデート
        ミドルウェアの機能アップデート

              この分野のツールはアップデートが頻繁にある

              しかも適用したいアップデートが多い

        UIツール等の機能アップデート

              (社内)ユーザ向けの機能の追加・修正など

              頻繁に行えないようでは仕事をしているとは言えない

12年8月18日土曜日
機能向上のための鉄則

        頻繁に、ただし全体を壊さずにアップデートしたい

        コンポーネント分離を徹底する

              インターフェイスを明確に定めて疎結合化するため

              ある箇所の変更の影響範囲をできるだけ小さくするため

        小さく、変更内容が追えるツールをOSSで揃える

              更新タイミングをコントロール可能な状態を維持する


12年8月18日土曜日
規模の拡大とデプロイの話



12年8月18日土曜日
デプロイ対象
                 deliver                    archiver        backup
       servers
                     deliver

   servers


  servers
                        worker      worker      worker    worker
                  worker      worker      worker    worker      worker
   servers


     servers                   serializer                   serializer



 例:Fluentdクラスタ                                    HDFS
                                                (WebHDFS)

12年8月18日土曜日
規模の拡大への対応

        量の拡大
         PV増にともなうアクセスログの増大への対応
         「サーバを増やしてリストに追加するだけ」になってる?
        バリエーションの拡大
              サービス増減に関して手間がかかるようでは駄目
              「ログを流せばあとは全自動」になってる?

        私見

        「スケールする」と言うとき、両方に対応できているべき


12年8月18日土曜日
スケールするクラスタ構成の鉄則

        変更は少なく、追加は容易に

        変更なしでバリエーション増に対応できる設定セットを作る

              その上で規模の桁が違う一部にだけ特例の設定を行う
        汎用の公開ソフトウェアを可能な限りそのまま使う

              デプロイ手順が複雑な構成はスケールしない

              できるだけミドルウェアに任せることで複雑さを軽減する

              10%+の性能よりもデプロイ容易性の方が価値が高い


12年8月18日土曜日
場合によっては
                  あらゆるところに
              手を入れる覚悟をしておく
12年8月18日土曜日
コンセプトの良いOSSを
                    選んで使う




                Hive と Fluentd
12年8月18日土曜日
Thanks!




              photo: crouton & luke
                      by @kbysmnr
12年8月18日土曜日

More Related Content

PDF
Hive Tools in NHN Japan #hadoopreading
PDF
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PDF
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
PDF
HBase at LINE
PPTX
春期夏期実習活動報告会
PPTX
enPiTにおけるチームによるシステム開発演習と学部への展開
PPTX
実積ゼミの説明2015
PDF
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
Hive Tools in NHN Japan #hadoopreading
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
HBase at LINE
春期夏期実習活動報告会
enPiTにおけるチームによるシステム開発演習と学部への展開
実積ゼミの説明2015
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング

Viewers also liked (17)

PDF
Storage infrastructure using HBase behind LINE messages
PDF
ログ管理でウキウキAndroid Life (Log Management in Android)
PDF
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
PDF
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦
PDF
Clojureによるログ収集と解析
PDF
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
PDF
Big Data入門に見せかけたFluentd入門
PDF
で、次は何がくるの? - 第2回 TIS Matsuri
PDF
slackのログとりの話
PDF
ログ勉 Vol.1
PDF
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
PDF
Hadoopを用いた大規模ログ解析
PDF
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦
PDF
研究発表のためのプレゼンテーション技術
PDF
fluentd を利用した大規模ウェブサービスのロギング
PDF
Fluentdのお勧めシステム構成パターン
PDF
Javaのログ出力: 道具と考え方
Storage infrastructure using HBase behind LINE messages
ログ管理でウキウキAndroid Life (Log Management in Android)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦
Clojureによるログ収集と解析
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
Big Data入門に見せかけたFluentd入門
で、次は何がくるの? - 第2回 TIS Matsuri
slackのログとりの話
ログ勉 Vol.1
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Hadoopを用いた大規模ログ解析
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦
研究発表のためのプレゼンテーション技術
fluentd を利用した大規模ウェブサービスのロギング
Fluentdのお勧めシステム構成パターン
Javaのログ出力: 道具と考え方
Ad

Similar to OSSで支えられるライブドアの巨大ログ集計 #nhntech (20)

PDF
Log analysis with Hadoop in livedoor 2013
PPTX
ビッグデータ活用支援フォーラム
PDF
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
PDF
Hadoop ecosystem NTTDATA osc15tk
PDF
Log Analysis System And its designs in LINE Corp. 2014 early
PDF
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
PDF
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
PDF
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
PDF
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
PDF
トレジャーデータとtableau実現する自動レポーティング
PDF
20130313 OSCA Hadoopセミナー
PDF
Beginner must-see! A future that can be opened by learning Hadoop
PPTX
WebDB Forum 2012 基調講演資料
PPTX
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
PDF
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
PDF
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
PDF
Big Data Visual Analytics Realized By Hadoop and Tableau
PDF
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
PDF
170827 jtf garafana
PDF
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
Log analysis with Hadoop in livedoor 2013
ビッグデータ活用支援フォーラム
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
Hadoop ecosystem NTTDATA osc15tk
Log Analysis System And its designs in LINE Corp. 2014 early
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
トレジャーデータとtableau実現する自動レポーティング
20130313 OSCA Hadoopセミナー
Beginner must-see! A future that can be opened by learning Hadoop
WebDB Forum 2012 基調講演資料
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
Big Data Visual Analytics Realized By Hadoop and Tableau
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
170827 jtf garafana
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
Ad

More from SATOSHI TAGOMORI (20)

PDF
Ractor's speed is not light-speed
PDF
Good Things and Hard Things of SaaS Development/Operations
PDF
Maccro Strikes Back
PDF
Invitation to the dark side of Ruby
PDF
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
PDF
Make Your Ruby Script Confusing
PDF
Hijacking Ruby Syntax in Ruby
PDF
Lock, Concurrency and Throughput of Exclusive Operations
PDF
Data Processing and Ruby in the World
PDF
Planet-scale Data Ingestion Pipeline: Bigdam
PDF
Technologies, Data Analytics Service and Enterprise Business
PDF
Ruby and Distributed Storage Systems
PDF
Perfect Norikra 2nd Season
PDF
Fluentd 101
PDF
To Have Own Data Analytics Platform, Or NOT To
PDF
The Patterns of Distributed Logging and Containers
PDF
How To Write Middleware In Ruby
PDF
Modern Black Mages Fighting in the Real World
PDF
Open Source Software, Distributed Systems, Database as a Cloud Service
PDF
Fluentd Overview, Now and Then
Ractor's speed is not light-speed
Good Things and Hard Things of SaaS Development/Operations
Maccro Strikes Back
Invitation to the dark side of Ruby
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Make Your Ruby Script Confusing
Hijacking Ruby Syntax in Ruby
Lock, Concurrency and Throughput of Exclusive Operations
Data Processing and Ruby in the World
Planet-scale Data Ingestion Pipeline: Bigdam
Technologies, Data Analytics Service and Enterprise Business
Ruby and Distributed Storage Systems
Perfect Norikra 2nd Season
Fluentd 101
To Have Own Data Analytics Platform, Or NOT To
The Patterns of Distributed Logging and Containers
How To Write Middleware In Ruby
Modern Black Mages Fighting in the Real World
Open Source Software, Distributed Systems, Database as a Cloud Service
Fluentd Overview, Now and Then

OSSで支えられるライブドアの巨大ログ集計 #nhntech

  • 1. OSSで支えられる ライブドアの巨大ログ集計 - HiveとFluentd - 第2回 NHNテクノロジーカンファレンス 2012/08/18 TAGOMORI Satoshi (@tagomoris) 12年8月18日土曜日
  • 2. TAGOMORI Satoshi (@tagomoris) NHNJapan株式会社 ウェブサービス本部 開発2室 12年8月18日土曜日
  • 3. 今日の話 どういうことをやっているかの話 機能とコンポーネント分離の話 規模の拡大とデプロイの話 12年8月18日土曜日
  • 5. アクセスログ収集・集計 システム・サービスの稼動状況を明確にする PV, UUの集計 HTTPレスポンスコード毎の割合の時系列変化 レスポンスタイムの統計・時系列変化 そのほか必要に応じたログ調査など 12年8月18日土曜日
  • 6. 概要 Web Server Fluentd log Web Server info Graphs (GrowthForecast) log Hive Client query Hive Server Hadoop/HDFS 12年8月18日土曜日
  • 7. 構成ソフトウェア Hadoop Cluster (Hadoop, Hive) CDH3u5 + CentOS5 + JDK6 Fluentd Cluster Fluentd 0.10.25 + CentOS5 + Ruby 1.9.3-p194 + jemalloc Others GrowthForecast, HRForecast fluent-agent-lite, Shib, ShibUI 12年8月18日土曜日
  • 8. Hive オープンソースプロダクト Hadoop MapReduce のためのDSL(ドメイン特化言語) HiveQL というほぼSQLそのままのものを使える 特に集計・統計においてパフォーマンスが良い Hive Server経由でRPCを使える 12年8月18日土曜日
  • 9. Fluentd オープンソースプロダクト 構造化ログ収集用ソフトウェア インストールが簡単、拡張性があり、比較的高速に動作 プラグイン機構を備えていて豊富な公開プラグインが存在 いくつかの機能を使うことでデータ処理にも使用可能 12年8月18日土曜日
  • 10. アクセスログ収集・集計 ログ収集・変換: Fluentd 集計処理: Hive リアルタイム統計処理: Fluentd 12年8月18日土曜日
  • 11. 概要 Web Server Fluentd log Web Server info Graphs (GrowthForecast) log Hive Client query Hive Server Hadoop/HDFS 12年8月18日土曜日
  • 12. 実装の詳細 "Hive Tools in NHN Japan" Hadoop Source Code Reading vol.9 (2012/05/30) http://www.slideshare.net/tagomoris/hive-tools-in-nhn-japan-hadoopreading "Distributed message stream processing on Fluentd" Fluentd meetup in Japan #1 (2012/02/04) http://www.slideshare.net/tagomoris/distributed-stream-processing-on-fluentd-fluentd "Plugins by tagomoris" Fluentd Casual Talks (2012/05/18) http://www.slideshare.net/tagomoris/plugins-by-tagomoris-fluentdcasual 12年8月18日土曜日
  • 13. 実装の詳細 ごめん、無理…… "Hive Tools in NHN Japan" 30分 Hadoop Source Code Reading vol.9 (2012/05/30) http://www.slideshare.net/tagomoris/hive-tools-in-nhn-japan-hadoopreading "Distributed message stream processing on Fluentd" Fluentd meetup in Japan #1 (2012/02/04) 60分 30分 http://www.slideshare.net/tagomoris/distributed-stream-processing-on-fluentd-fluentd "Plugins by tagomoris" Fluentd Casual Talks (2012/05/18) 10分 30分 http://www.slideshare.net/tagomoris/plugins-by-tagomoris-fluentdcasual 12年8月18日土曜日
  • 14. 集計クエリの登録と実行 Shib / ShibUI の画面でごらんください Shib でのクエリ入力と実行 ShibUI でのクエリ登録、グラフの閲覧 ShibUI でのクエリ作成 12年8月18日土曜日
  • 15. Why We Don't Use Data Analytics Services? 12年8月18日土曜日
  • 16. なぜ自分達で作るか なぜ Google Analytics (or others)じゃいけないのか? 根拠: 数字の理由が説明可能でなければならない 再現性: データさえあれば追試可能でなければならない 機能と継続性の問題 機能とコンポーネント分離の話 規模の拡大とデプロイの話 12年8月18日土曜日
  • 18. コンポーネント分離 Hadoop / HDFS Hive Server 例:Hive系 Shib (node.js) ShibUI (Perl/Plack Web Application: Kossy) Users (Web Browser) HRForecast 12年8月18日土曜日
  • 19. 機能のアップデート ミドルウェアの機能アップデート この分野のツールはアップデートが頻繁にある しかも適用したいアップデートが多い UIツール等の機能アップデート (社内)ユーザ向けの機能の追加・修正など 頻繁に行えないようでは仕事をしているとは言えない 12年8月18日土曜日
  • 20. 機能向上のための鉄則 頻繁に、ただし全体を壊さずにアップデートしたい コンポーネント分離を徹底する インターフェイスを明確に定めて疎結合化するため ある箇所の変更の影響範囲をできるだけ小さくするため 小さく、変更内容が追えるツールをOSSで揃える 更新タイミングをコントロール可能な状態を維持する 12年8月18日土曜日
  • 22. デプロイ対象 deliver archiver backup servers deliver servers servers worker worker worker worker worker worker worker worker worker servers servers serializer serializer 例:Fluentdクラスタ HDFS (WebHDFS) 12年8月18日土曜日
  • 23. 規模の拡大への対応 量の拡大 PV増にともなうアクセスログの増大への対応 「サーバを増やしてリストに追加するだけ」になってる? バリエーションの拡大 サービス増減に関して手間がかかるようでは駄目 「ログを流せばあとは全自動」になってる? 私見 「スケールする」と言うとき、両方に対応できているべき 12年8月18日土曜日
  • 24. スケールするクラスタ構成の鉄則 変更は少なく、追加は容易に 変更なしでバリエーション増に対応できる設定セットを作る その上で規模の桁が違う一部にだけ特例の設定を行う 汎用の公開ソフトウェアを可能な限りそのまま使う デプロイ手順が複雑な構成はスケールしない できるだけミドルウェアに任せることで複雑さを軽減する 10%+の性能よりもデプロイ容易性の方が価値が高い 12年8月18日土曜日
  • 25. 場合によっては あらゆるところに 手を入れる覚悟をしておく 12年8月18日土曜日
  • 26. コンセプトの良いOSSを 選んで使う Hive と Fluentd 12年8月18日土曜日
  • 27. Thanks! photo: crouton & luke by @kbysmnr 12年8月18日土曜日