Apache ストームの概要


Apache Storm とは何ですか?

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

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

Apache Storm と Hadoop

基本的に、ビッグ データの分析には Hadoop フレームワークと Storm フレームワークが使用されます。この 2 つは互いに補い合いますが、いくつかの点で異なります。 Apache Storm は永続化以外のすべてを実行しますが、Hadoop はすべてのことに優れていますが、リアルタイム計算には遅れます。次の表は、Storm と Hadoop のプロパティを比較しています。

#StormHadoopリアルタイム ストリーム処理バッチ処理##ステートレスZooKeeperJob Trackerストーム ストリーミング プロセスは、クラスター上で 1 秒あたり数万のメッセージにアクセスできます。 Storm トポロジは、ユーザーがシャットダウンするか、予期しない回復不能な障害が発生するまで実行されます。 両方とも分散型でフォールトトレラントです ニンバス/スーパーバイザーが停止した場合は、次から再起動します。そのままなので何も影響はありません。

Apache Storm の使用例

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

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

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

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

Apache Storm の利点

Apache Storm によって提供される利点のリストは次のとおりです:

  • Storm はオープンソースで強力です。 、 使いやすい。中小企業でも大企業でもご利用いただけます。

  • Storm は耐障害性、柔軟性、信頼性が高く、あらゆるプログラミング言語をサポートしています。

  • リアルタイム ストリーミングを可能にします。

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

  • Storm は、リソースを直線的に増加させることで、負荷が増加してもパフォーマンスを維持できます。拡張性が高いです。

  • Storm はデータの更新を実行し、問題に応じて数秒または数分でエンドツーエンドで応答を提供します。遅延が非常に低いです。

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

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

ステートフル
に基づくマスター/スレーブ アーキテクチャと調整。マスター ノードは nimbus と呼ばれ、スレーブ ノードは supervisors です。 ZooKeeper ベースの調整あり/なしのマスター/スレーブ構造。マスター ノードは 、スレーブ ノードは Task Tracker です。
Hadoop 分散ファイル システム (HDFS) は、MapReduce フレームワークを使用して、数分から数時間かかる大量のデータを処理します。
MapReduce ジョブは順番に実行され、最終的に完了します。
JobTracker がクラッシュすると、実行中のジョブはすべて失われます。