Evolve logo オンデマンド配信 Evolve 2023 Tokyo|AI、データと分析の先進事例を紹介
  • Cloudera Cloudera
  • Apache Storm

    ストリーミングデータをリアルタイムに処理するためのシステム

    Apache™ Storm によって、Enterprise Hadoopで信頼性の高いリアルタイムデータ処理が可能になります。YARN 上の Storm は、リアルタイム分析や機械学習、運用の継続的監視に向け強力な機能を提供します。

    Apache Slider で Storm と YARN を統合することで、YARN による Storm の管理が可能になると共に、データガバナンスやセキュリティためのクラスタリソースや、最新のデータアーキテクチャーの運用コンポーネントを活用できるようになります。

    Stom の機能

    Stormは、大規模な高速データを処理するための、分散リアルタイム処理システムです。超高速な Storm は、中規模サイズのクラスタ上で、1ノードあたり毎秒100万以上のレコードを処理することができます。企業は、このスピードを Hadoop のデータアプリケーションに提供することで、不意の事態の発生を避け、優れた結果を生むことができます。

    これにより新たに実現可能となる業務としては、リアルタイムでのカスタマーサービス管理や、データの収益化、運用ダッシュボード、サイバーセキュリティ分析や脅威の検知などがあげられます。

    以下に Storm の典型的な「防止」と「最適化」のユースケースを示します。

    "Prevent" Use Cases "Optimize" Use Cases
     Financial Services
    • Securities fraud
    • Operational risks & compliance violations
    • Order routing
    • Pricing
      Telecom
    • Security breaches
    • Network outages
    • Bandwidth allocation
    • Customer service
      Retail
    • Shrinkage
    • Stock outs
    • Offers
    • Pricing
      Manufacturing
    • Preventative maintenance
    • Quality assurance
    • Supply chain optimization
    • Reduced plant downtime
      Transportation
    • Driver monitoring
    • Predictive maintenance
    • Routes
    • Pricing
      Web
    • Application failures
    • Operational issues
    • Personalized content

    Stormは、シンプルであり、開発者はどんなプログラミング言語でも、Storm トポロジーを記述することができます。Storm は、その5つの特長によって、リアルタイムデータ処理に向け理想的なものとなっています。Storm は:

    • 高速 - ベンチマークでは、100 バイトのメッセージを1ノードあたり秒間100万件処理しています
    • 拡張性 - マシンのクラスタ全体で並列計算を行います
    • フォールトトレラント - Strom は、ワーカーが停止すると自動的に再起動します。ノードが停止した場合には、別のノードでワーカーを再起動します。
    • 信頼性 - Stormでは、データの各ユニット (タプル : tuple) が少なくても1回、一度限り処理することを保証しています。メッセージは障害が発生した場合に限り、再生されます。
    • 容易な運用 - 標準設定を使って、すぐ業務に活用できます。Stormでは、導入後の容易な運用が可能です。

    Strom の動作の仕組み

    Storm クラスタは、 3つのノードで構成されています:

    • Nimbus ノード (Hadoop の JobTracker に似たマスターノード)
      • 実行に必要なコンピュート機能をアップロード
      • クラスタ全体にコードを配布
      • クラスタ横断的にワーカーを起動
      • 実行状態を監視し、必要に応じてワーカーをリロケート
    • ZooKeeper ノード - Storm クラスタをコーディネート
    • Supervisor ノード - Zookeeper 経由でNimbus と通信して、Nimbus からのシグナルに従ってワーカーを開始または停止します。

    Strom のアーキテクチャー

    以下の 5つの主要な概念は、Storm のデータ処理を理解をする上で役に立ちます:

    • タプル (Tuple) - エレメントの順序付きリスト例えば「4-タプル」は (7, 1, 3, 7) のようになります。
    • ストリーム (Stream) - 連続して流れてくるタプル
    • スパウト (Spout) - コンピュテーションのストリームのソース (Twitter API など)
    • ボルト (Bolt) - インプットストリームを処理し、アウトプットストリームを生成。ここでは、ファンクションの実行、フィルター、集約、データの join、データベースとのやり取りが可能。
    • トポロジー (Toppology) - 全体的な処理をスパウトとボルトのネットワークとして視覚的に表現したもの (下図参照)

    Storm の概念

    Storm ユーザーは、データがスパウトからストリーミングで入ってきた際のデータ処理方法に対するトポロジーを定義します。データが入ってくると処理が実施されれ、実行結果を Hadoop に渡します。コミュニティがどのように Storm と Hadoop を連携させ、エンタープライズ向けに準備を行っているかという点について、その詳細をご確認ください。

    Your form submission has failed.

    This may have been caused by one of the following:

    • Your request timed out
    • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.