SlideShare a Scribd company logo
Advanced Tech Night No.04

              Twitterの
         リアルタイム分散処理システム
                  Storm
              DEMO
                                      2012/03/01
                            Acroquest Technology
                                      木村宗太郎
発表の流れ

1.   自己紹介
2.   Stormのクラスタ構築ってどうやるの?
3.   今回動かすStormクラスタ構成
4.   今回動作させるTopologyの機能
     Stormデモ
5. 今回開発した規模
6. まとめ




                                     1
               Advanced Tech Night
1.自己紹介

•   名前      : 木村宗太郎
•   所属      : Acroquest Technology
•   Twitter : @kimutan_sk
•   主な仕事:
     Androidのアプリ基盤、サービス基盤開発
•   趣味:
     料理全般
     (特にお菓子作り)




                                        2
                  Advanced Tech Night
2.Stormのクラスタ構築ってどうやるの?

•   ブログ:T3(Taste of Tech Topics)
    (http://d.hatena.ne.jp/acro-engineer/)
    をご覧ください。




                                                 3
                           Advanced Tech Night
3.今回動かすStormクラスタ構成

•   1台の仮想マシンに下記のプロセスを構築しています。

                              仮想マシン(CentOS 6.2 64bit)
    ①   Nimbus
    ②   Zookeeper    Nimbus                 Zookeeper   Supervisor


    ③   Supervisor                                          Worker

    ④   Worker
    ⑤   Storm UI     Storm UI



                               NimbusとThriftを用いて通信し、
                            Stormクラスタの概況を表示するWebUI
                                    Jettyを用いて構築

                                                                     4
                      Advanced Tech Night
4.今回動作させるTopologyの機能

   Twitterから「ATN」のハッシュタグを含むつぶやきを取得する



    Twitter                     HashTag               Fields
                   Shuffle                                           Printer
    Single                       Filter              Grouping
                  Grouping                                            Bolt
    Spout                         Bolt

 TwitterのTweetで                1つのTweetを                     ハッシュタグが「atn」を
「#atn2012」を含む                {ハッシュタグ,Tweet}                       含む場合
    呟きを抽出                     の構造に分割する                      (CorrectTag + Tweet)
  (スレッド数:1)                   ※複数ハッシュタグを                        をログに出力
                               含む場合は複数の
                               タプルを生成する
                                                               (スレッド数:5)
                               (スレッド数:5)


                                                                               5
                               Advanced Tech Night
DEMO
Stormの実行




                                 6
           Advanced Tech Night
5.今回開発した規模

  TwitterSingleSpout                   90ライン
  HashTagFilterBolt                    37ライン
  PrinterBolt                          30ライン
  Topologyの定義                          45ライン

  計                                   202ライン
                                          たった
                                         これだけ!

                                                 7
                Advanced Tech Night
6.まとめ


1. Stormを使うと、少ない実装量(数百ライン程度)で
   簡単にリアルタイム処理システムが構築できます。

2. Topologyの概要は、Storm UIで常に見れます。

3. 1つのStormクラスタ上で
   複数のTopologyを混在して実行可能です。
   → クラスタのリソースを有効活用できます。


                                     8
               Advanced Tech Night

More Related Content

Twitterのリアルタイム分散処理システム「Storm」入門 demo

  • 1. Advanced Tech Night No.04 Twitterの リアルタイム分散処理システム Storm DEMO 2012/03/01 Acroquest Technology 木村宗太郎
  • 2. 発表の流れ 1. 自己紹介 2. Stormのクラスタ構築ってどうやるの? 3. 今回動かすStormクラスタ構成 4. 今回動作させるTopologyの機能 Stormデモ 5. 今回開発した規模 6. まとめ 1 Advanced Tech Night
  • 3. 1.自己紹介 • 名前 : 木村宗太郎 • 所属 : Acroquest Technology • Twitter : @kimutan_sk • 主な仕事: Androidのアプリ基盤、サービス基盤開発 • 趣味: 料理全般 (特にお菓子作り) 2 Advanced Tech Night
  • 4. 2.Stormのクラスタ構築ってどうやるの? • ブログ:T3(Taste of Tech Topics) (http://d.hatena.ne.jp/acro-engineer/) をご覧ください。 3 Advanced Tech Night
  • 5. 3.今回動かすStormクラスタ構成 • 1台の仮想マシンに下記のプロセスを構築しています。 仮想マシン(CentOS 6.2 64bit) ① Nimbus ② Zookeeper Nimbus Zookeeper Supervisor ③ Supervisor Worker ④ Worker ⑤ Storm UI Storm UI NimbusとThriftを用いて通信し、 Stormクラスタの概況を表示するWebUI Jettyを用いて構築 4 Advanced Tech Night
  • 6. 4.今回動作させるTopologyの機能 Twitterから「ATN」のハッシュタグを含むつぶやきを取得する Twitter HashTag Fields Shuffle Printer Single Filter Grouping Grouping Bolt Spout Bolt TwitterのTweetで 1つのTweetを ハッシュタグが「atn」を 「#atn2012」を含む {ハッシュタグ,Tweet} 含む場合 呟きを抽出 の構造に分割する (CorrectTag + Tweet) (スレッド数:1) ※複数ハッシュタグを をログに出力 含む場合は複数の タプルを生成する (スレッド数:5) (スレッド数:5) 5 Advanced Tech Night
  • 7. DEMO Stormの実行 6 Advanced Tech Night
  • 8. 5.今回開発した規模 TwitterSingleSpout 90ライン HashTagFilterBolt 37ライン PrinterBolt 30ライン Topologyの定義 45ライン 計 202ライン たった これだけ! 7 Advanced Tech Night
  • 9. 6.まとめ 1. Stormを使うと、少ない実装量(数百ライン程度)で 簡単にリアルタイム処理システムが構築できます。 2. Topologyの概要は、Storm UIで常に見れます。 3. 1つのStormクラスタ上で 複数のTopologyを混在して実行可能です。 → クラスタのリソースを有効活用できます。 8 Advanced Tech Night