ApacheStorm-はじめに

Apache Stormとは何ですか?

Apache Stormは、分散型のリアルタイムビッグデータ処理システムです。Stormは、フォールトトレラントで水平方向にスケーラブルな方法で大量のデータを処理するように設計されています。これは、最高の取り込み率の機能を備えたストリーミングデータフレームワークです。Stormはステートレスですが、ApacheZooKeeperを介して分散環境とクラスター状態を管理します。シンプルで、リアルタイムデータに対してあらゆる種類の操作を並行して実行できます。

Apache Stormは、リアルタイムデータ分析のリーダーであり続けています。Stormはセットアップと操作が簡単で、すべてのメッセージがトポロジを介して少なくとも1回処理されることを保証します。

ApacheStormとHadoop

基本的に、HadoopおよびStormフレームワークはビッグデータの分析に使用されます。それらの両方は互いに補完し合い、いくつかの面で異なります。Apache Stormは永続性を除くすべての操作を実行しますが、Hadoopはすべてに優れていますが、リアルタイム計算には遅れがあります。次の表は、StormとHadoopの属性を比較しています。

Hadoop
リアルタイムストリーム処理 バッチ処理
ステートレス ステートフル
ZooKeeperベースの調整によるマスター/スレーブアーキテクチャ。マスターノードは次のように呼ばれますnimbus と奴隷は supervisors ZooKeeperベースの調整がある場合とない場合のマスタースレーブアーキテクチャ。マスターノードはjob tracker スレーブノードは task tracker
ストームストリーミングプロセスは、クラスター上で1秒あたり数万のメッセージにアクセスできます。 Hadoop分散ファイルシステム(HDFS)は、MapReduceフレームワークを使用して、数分または数時間かかる大量のデータを処理します。
ストームトポロジは、ユーザーによるシャットダウンまたは予期しない回復不能な障害まで実行されます。 MapReduceジョブは順番に実行され、最終的に完了します。
Both are distributed and fault-tolerant
ニンバス/スーパーバイザーが停止した場合、再起動すると停止した場所から続行されるため、影響はありません。 JobTrackerが停止すると、実行中のすべてのジョブが失われます。

ユースケース-ApacheStormの事例

Apache Stormは、リアルタイムのビッグデータストリーム処理で非常に有名です。このため、ほとんどの企業は、システムの不可欠な部分としてStormを使用しています。いくつかの注目すべき例は次のとおりです-

Twitter− Twitterは、さまざまな「パブリッシャー分析製品」にApacheStormを使用しています。「PublisherAnalyticsProducts」は、Twitterプラットフォームのすべてのツイートとクリックを処理します。Apache Stormは、Twitterインフラストラクチャと緊密に統合されています。

NaviSite− NaviSiteは、イベントログの監視/監査システムにStormを使用しています。システムで生成されたすべてのログはストームを通過します。Stormは、構成された正規表現のセットに対してメッセージをチェックし、一致する場合は、その特定のメッセージがデータベースに保存されます。

Wego− Wegoは、シンガポールにある旅行メタ検索エンジンです。旅行関連のデータは、さまざまなタイミングで世界中の多くのソースから取得されます。Stormは、Wegoがリアルタイムデータを検索し、同時実行の問題を解決し、エンドユーザーに最適なものを見つけるのに役立ちます。

ApacheStormのメリット

ApacheStormが提供する利点のリストは次のとおりです-

  • Stormはオープンソースで、堅牢で、ユーザーフレンドリーです。大企業だけでなく中小企業でも利用できます。

  • Stormは、フォールトトレラント、柔軟性、信頼性があり、あらゆるプログラミング言語をサポートします。

  • リアルタイムのストリーム処理を可能にします。

  • Stormは、データを処理する非常に強力な能力を備えているため、信じられないほど高速です。

  • Stormは、リソースを直線的に追加することで、負荷が増加してもパフォーマンスを維持できます。非常にスケーラブルです。

  • Stormは、問題に応じて、データの更新とエンドツーエンドの配信応答を数秒または数分で実行します。レイテンシーは非常に低いです。

  • ストームには運用インテリジェンスがあります。

  • Stormは、クラスター内の接続されたノードのいずれかが停止したり、メッセージが失われた場合でも、保証されたデータ処理を提供します。