まず、スパークは何ですか
スパークは、フレームメモリに基づいて計算されます。
二、スパーク発生した背景
スパーク発生した理由は、主にHadoopの欠点を解決するために、タイムラインが誕生の火花を描画することができますがあります。
1、Hadoopの1.x-- 2011インディアン
(Hadoopの1.xのアーキテクチャ)
(マップリデュースのHadoopの1.xのアーキテクチャ)
Hadoop1.xは正式に多くの人々に、2011年にこの時間をリリースしたが、いくつかの時間後に、それはHadoopの1.xの問題(主にMapReduceの問題)が存在することを発見しました。
1は、MapReduceのは、データセットに基づいて計算されます。常にディスクファイルから読み込まれ、その後、ディスクに書き込まれた最後を計算し、タスクが閉じられています。私たちは新しい計算を紹介したいと思いますので、問題はないようだが、必要で、我々はデータのストリーミング、リアルタイムデータに対処する必要がある、地図データを、より多くの頻度で明らかに十分な速ディスクmapreuduceを読みますこの問題を解決する方法。しかし - (2を参照)
2は、Hadoopの1.1時間、計算のための責任を負いませんMapReduceの中で、それは、リソースのスケジューリングと計算が密に結合し、またスケジューリングタスクやリソースの責任ですが、私たちは、計算フレームワークを変更したい場合にのみ、明らかに不可能ですコンピューティングリソースを割り当てる方法を全くリソーススケジューリングありませんか?
2、Hadoopの1.xの時に、MapReduceは、プロセスにリソーススケジューリングを担当してJobTracker、JobTrackerと呼ばれ、タスクスケジューリングの責任、およびJobTrackerの男性がTaskTrackerと呼ばれるプロセスは、このプロセスは、計算、JobTrackerを担当してい負担が緊密に結合された、あまりにも重い課題です。
人々は、Hadoopの1.xの問題は、それは火花が生まれたこの時間を我慢することはできません。
出産の2、スパーク - 2013年6月
課題を解決するために結合する、スパークリソーススケジューリングおよびタスクスケジューリングと、スパークは、低速の問題を解決するために、メモリベースのコンピューティング戦略を採用し、反復計算をサポートし、問題は、上記解決するためのMapReduceを生まれます相分離:
(Sparkのアーキテクチャ)
図中の要素は説明しました:
マスター:リソーススケジューリングの責任
アプリケーションマスター:タスクスケジューリングの責任は、ドライバーは、通信のいくつかのメカニズムとマスターの部分で行われ、ドライバーがマスターではない、マスターは、それが使用されているので、時間のスパークの誕生以来、何の糸は、存在しない、リソーススケジューリングのための唯一の責任がありますマスターと呼ばれる独自のリソーススケジューラは、糸の後、ドライバーはResouceManagerの糸に順番の代わりに、マスターに接続することができます。
ワーカー:テーブルノード上で計算し、リソーススケジューリングのために責任があります
エグゼキュータ:計算を実行する責任
図から分かる:労働者を直接マスターに接続され、それが直接執行ドライバに接続されています。
あなたが見ることができるように、2つのスパーク・アーキテクチャは、最も重要な概念である2つだけ、それはかけがえのないですので、ドライバとエグゼキュータです。
3、Hadoopの2.x-- 2013インディアン11越
Hadoopの2.xでは、糸の導入では、それはYARN、保存されたHadoopの、YARNリソースのスケジューリング、タスクスケジューリングと相分離の計算です。
二つの大きな描画要素がありますが、ResourceManagerが1のノードマネージャで、1です。
このResourceManager:あなたが見ることができる、ResourceManagerがリソース管理とスケジューリングを担当し、プラススタートApplicationMaster、。注:ここでのスケジュールは、純粋なリソーススケジューリングタスクのスケジューリングを伴わない、タスクのスケジューリングがAMに行われるべきです。
**ノードマネージャ:各ノードのノードマネージャ**リソースとタスクマネージャ、上方ノードマネージャ計算機能を完了する。
** ApplicationMaster:資金調達のために適用する責任** RM、タスクの監視を開始します。ユーザーはこのResourceManagerにジョブを送信すると、RMはAM、AMで始まったコンテナの割り当てが固定されていない使用可能な最初のNMを、見つけるだろうが、あなたはMRタスクを送信する場合、ユーザーの投稿によると、それはMR AMについてです変わりますそれはスパークであれば、そうAMは、Sparkについてです。
コンテナ:コンテナが、これは私達ができる、また、コンテナYARNに、リソース上でLinuxやMacを起動することができ、Windowsシステムでは、我々の仮想マシンとして、仮想マシンは、Windowsエクスプローラを使用することができ、リソースを抽象化したものですMapReduceのか、スパークタスクを開始します。
これらの要素の役割は主に、まだ全体のワークフローフレームワークを理解する必要がありますされているかを理解するには。
要約すると、糸は我々だけで、計算フレームワーク限り、自分のものにAMとタスクを思い付いた、カップリングを理解しない、あなたはHadoopの2.0上で実行することができます。それは本当に強いです!
三、YARNのスパークワークフロー
\ユーザー\ DELL \のAppData \ローミング\ Typora \ typora-ユーザー画像:[画像のチェーンは、失敗したダンプの外に、ソースステーションは、セキュリティチェーン機構を有していてもよい、直接ダウン(IMG-2kXok9CM-1583725096217)(Cアップロードされた画像を保存することをお勧めします\画像20200307124214254.png)]
上記の概要を通じ、私たちは操作のスパークアローンモードを参照し、構造が非常に似てYARN、AMにドライバーと同等でのみスパークで、マスターはRMに相当し、労働者と同等NMは、エグゼキュータはタスクに相当します。
私たちはHadoopの2.0でスパークを実行したい場合は、スパークは、単にタスクエグゼキュータ缶のスパークにYARNで、糸のドライバーアプリケーションを配置する必要があります。
三つには、重要な二つの成分をスパーク
労働者のスパークは、ノードマネージャで労働者またはYARNにすることができながら、糸の誕生後、スパークのリソーススケジューラは、このResourceManagerまたはマスターすることができ、そしてこれら2には、Sparkで、それゆえ、交換可能です二つの成分のコアは、ドライバとエグゼキュータです。
1、ドライバ
ドライバは、プログラムのメインメソッドを開発するプロセスです。
2、エグゼキュータ
エグゼキュータは、互いに独立してスパークジョブ、タスクでタスクを実行するための責任、作業工程です。
四、スパーク展開モデル
1、ローカル
ローカルで実行するようにスパークタスク、ローカル[k]はk個のスレッドがすべてのスレッドの実行を開始するのに代わって[*]ローカル、実行を開始表します。
2、スタンドアローン
独立してクラスタ上で実行します。
3、糸
そのような糸とmesosとして、リソース管理システム上で実行されています。
すべてのスレッドに代わってローカルファイル名を指定して実行、[*]は実行を開始。
2、スタンドアローン
独立してクラスタ上で実行します。
3、糸
そのような糸とmesosとして、リソース管理システム上で実行されています。