嵐を紹介しましょう

アウトライン

オフラインコンピューティングは何ですか?

バルクデータ、バルクデータ転送、取得定期的なバッチ計算データ、表示データを。(鮮やかなメタファー:乗用エレベーター、波が来ます)

代表的手法:Sqoop一括インポートデータ、データのHDFSのバルク貯蔵、MapRduceハイブバッチ計算データ、アズカバンタスクのスケジューリング。

デイリービジネス:hivesql、スケジューリングプラットフォーム、Hadoopクラスタの運用・保守、データクレンジング、メタデータ管理、データ監査、データ・ウェアハウスのアーキテクチャモデル

計算は何している流れ?

リアルタイムのデータ作成、計算伝説のリアルタイムデータ、リアルタイムデータ、リアルタイムデータ表示。(鮮やかなメタファー:前にモールエスカレーター)

技術に代わって:水路リアルタイムのデータ収集、カフカ/ metaqリアルタイムデータストレージ、ストーム/ JStormリアルタイム計算、Redisのキャッシュリアルタイムの結果

概要:携帯電話によって生成されたリアルタイムデータとリアルタイム計算の安定した流れ、結果を得るために、できるだけ速くとして、意思決定を支援します。

オフラインおよびリアルタイムシステム間の差を計算します

最大の違いは:リアルタイムシステム、リアルタイム表示を収集してみてください

オフライン計算:大量のデータを計算するには

リアルタイムコンピューティング:1つの計算によるデータ1

 

何ストームこと?

嵐は、コンピューティングシステム、分散オープンソースであり、それは単純で大規模なデータストリームの信頼ハンドリングすることができます。

高い耐障害性を有する支持延長部の嵐のレベルは、各メッセージが処理されることを保証するために、処理速度が速いです。

嵐の展開と運用・保守は非常に便利な、より重要なことは、様々なプログラミング言語に適用することができます。

嵐の特徴:低遅延、高可用性、分散型、スケーラブル、データが失われることはありません。これは、開発を容易にするためのシンプルなインターフェイスを提供します。

ストームアプリケーションのシナリオ

嵐モード処理データをパイプライン処理は、それが特に適しステートレス計算であるという情報に基づいて、計算が依存データユニットが受信された情報の全てに見出すことができ、好ましくはストリームは、別のデータストリームに依存しません。

したがって、それはしばしば使用されています

- ログ分析は、ログの多数、および分析の結果から特定のデータは、意思決定支援のための外部メモリに格納されます。

- パイプシステム、例えばHadoopのにデータベース同期などから別のシステムへの1つのシステムからの出力データ、

- メッセージ改質装置、そのようなミドルウェアメッセージングなどの特定の形式、別のストレージシステムによれば、受信したメッセージの変換

- 統計アナライザは、ログまたはメッセージから、フィールドを抽出し、その後、カウント又は和演算、外部メモリへの最終的な統計値を行います。

 

ケースI:アモイ - リアルタイム解析システム

精練 - リアルタイム解析システム:ユーザー属性のリアルタイム分析、および検索エンジンへのフィードバック。最初に、MRジョブによって、ユーザーの属性分析を完了するために、梯子の日々のタイミングで実行されています。ユーザーの行動ログのリアルタイム分析に期待して、リアルタイムの要件を満たすためには、最新のユーザーは、ユーザーの彼らの現在のニーズに最も関連性の高い結果を表示するには、戻って検索エンジンに属性。

 

ケースII:Ctripの - ネットワークのパフォーマンス監視

Ctripのは - ウェブサイトのパフォーマンス監視:リアルタイム分析システムをモニターサイトのパフォーマンスCtripのに。HTML5は、利用可能な指標、およびロギングを使用して得られました。ストームクラスタリアルタイムログ解析およびストレージ。使用DRPCは、歴史的な比較ルール、トリガのアラームイベントで判断したレポート、データ及びその他に集約しました。

 

ケース3:リアルタイム・オペレーション・ゲーム

ラインの新しいバージョンのゲームは、ゲーム内のリアルタイム解析システム、データ収集があり、事業者や開発者は、ライン上で、数秒で進行中の更新の結果のレポートや分析を監視し、ゲームを取得することができ、その後、すぐにゲームパラメータとのバランスのために調整します。これは非常にゲームの活力を強化し、ゲームの反復サイクルを短縮することができます。

 

ケース4:テンセントで使用されるリアルタイムの計算

リアルタイムテンセントの使用中のコンピューティング:正確な勧告(ワイドポイント・広告の推奨、ニュース勧告、ビデオ推薦、ゲームの小道具を推奨);リアルタイム解析(マイクロチャネル運用データポータル、パフォーマンス統計、注文肖像画分析);リアルタイムモニタリング(リアルタイムモニタリングプラットフォーム、インターフェイスは)ゲームを呼び出します

 

アリでリアルタイムシステムの利用:ケース5

より正確な広告の場合は、アリママバックグラウンド計算エンジンは、関心のある各ユーザーのポイント(あなたがに興味を持っているものを理想的には、広告の種類何を置くために)を維持する必要があります。ユーザーの関心は、主などでのリアルタイムクエリ、クリック数、リアルタイムでユーザーがクリックすると、ユーザの地理的な情報が得られ、リアルタイムでのリアルタイムのユーザー行動データに、利用者の歴史的行動、ユーザーのリアルタイムクエリに基づいています。アカウントリアルタイムシステムを考慮して、アリママストームは、ユーザーの関心データを維持し、観客はこれに基づいて広告をターゲットとします。


嵐のアーキテクチャ

ニンバス:リソース割り当てとタスクスケジューリングを担当します。

スーパーバイザー:労働者管理の独自の一部のプロセスを開始および停止するために割り当てられた光背を受け入れる任務。

ワーカー:ファイル名を指定して実行特定のプロセスロジック処理コンポーネント。

タスク:ワーカー各スパウト/ブロットスレッドがタスクを呼び出し、storm0.8後、スパウト/ボルトとの物理的なスレッドにタスクもはや対応するが、物理的なスレッドのタスクを共有することができる、スレッドは実行者となります。

 

嵐のプログラミングモデル

、ボルト(バルブ - データストリームを計算することにより) - ストーム構造は、トポロジ(トポロジ)、ストリーム(データストリーム)、スパウト(データストリームにより生成されたノズル)と呼ばれます

プロセスが展開を殺すか、キャンセル聖歌ない限り、ジョブ内のHadoopの組成とは異なり、トポロジ内の嵐は、永遠に実行されます。

嵐は、本質的に、一つ以上のキーと値のペアのリストを含む、タプル(組)のコアデータ構造です。ストリームは、以下からなる無制限タプルのシーケンスです。

トポロジー:様々なコンポーネント間のメッセージの流れは論理トポロジを形成するために、嵐を実行するリアルタイムアプリケーション。

Aスパウトは:トポロジ内のソース・データ・ストリームの成分を生成します。典型的には、ソースデータがトポロジの内部に変換され、外部データソースからデータを読み取るために噴出。注ぎ口は、ソース・データを内部で生成することができる限りように、嵐のフレームは、この関数を呼び出すユーザを維持するインターフェイスがnextTuple()関数を持って積極的な役割です。

           注ぎ口は、データソース、タプルの1つにデータ、および伝送のためのデータストリームとしてタプルに接続されています。

           注ぎ口の主な仕事の開発は、ソースデータストリームからAPI消費データを使用して書き込みコードにあります。

           のみ通常簡単注ぎ口の多重化を達成することができ、ビジネス・ロジックを処理するために使用されていない、データを送信し、データを変換するため、通常は責任を噴出。

ボルト:トポロジ内のデータを受信した後、組立工程を行います。ボルトは、フィルタリング機能の操作、合併、任意の書き込み操作のデータベースを実行することができます。メッセージを受信すると、この関数を呼び出した後、ボルトは、そのインターフェースを実行(タプル入力)機能を有している、受動的な役割であり、ユーザは、先の操作を行うことができます。

           操作ボルトがデータのために主に責任があるの後、実施例算出受け取ったデータを選択的に1以上のデータストリームを出力します。

           ボルトは、複数のデータによって受信される送信スパウトブロットまたは複雑なデータ変換処理とのネットワークトポロジの他のそのような構成要素をストリーム。

タプル:メッセージ配信の基本単位。マップのキーと値のはずが、タプルのさまざまなコンポーネント間で受け渡されるフィールド名がすでに事前に定義されているため、ライン上の限りシーケンシャル塗りつぶしとして各タプル値は、その値のリストであるということでした。

ストリーム:タプルストリームの形成にパスの安定した流れ。

 

ストリームのグループ化

GROUPINGストリーム:MESSAGEすなわちパーティション。

ストリームグループは、ボルトタスク間の流れポイントを切断する方法で定義しています。提供ストームストリームグループの6種類があります。

1.  (シャッフルグループ)無作為化:タスクにボルトランダムに分布タプル、タスクは、各タプルの等しい量を確保することでした。

2.  パケットのフィールド(フィールドグループ化):セグメンテーションデータは、指定されたフィールドと、パケットに係るストリーム。例えば、「ユーザID」フィールドによると、同じ「ユーザID」タプルが常に同じタスクに分配される、異なる「ユーザID」タプルは、異なるタスクに分散されてもよいです。

3.  すべてのグループ(すべてのグループ):タプルは、ボルトのすべてのタスクにコピーされます。このタイプは、注意が必要です。

4.  グローバルパケット(グローバルグループ):同じタスクボルトに割り当てられたすべてのストリーム。具体的には、最小のIDは、そのタスクに割り当てられています。

5.  いいえ(グループ化なし)をグループ化していない:あなたは、ストリームのパケットであるかを気にする必要はありません。現在、パケットがランダムに相当しません。しかし、最終的には、嵐は非ボルトボルトにグループ化されるか、(可能であれば)の噴出が実行する同じスレッドでそれらを購読してください。

前記  パケットを直接(直接グループ):これは、特別なパケットタイプです。生産者が受け取ったタプルタプルはタプルハンドラ・タスクを決定します。

 

流れの全体構成を計算します

水路は、データを取得するために使用しました

カフカは、一時的にデータを保持するために使用しました

ストロムは、データを計算するために使用されます

Redisのは、データを格納するために使用されるインメモリデータベース、あります

 

統合プロジェクトでの嵐

公開された33元の記事 ウォンの賞賛3 ビュー5865

おすすめ

転載: blog.csdn.net/WandaZw/article/details/83274906