17

Yarnは、インフラストラクチャレイヤーが元のマップリデュースアーキテクチャと次のように異なります。

Resource ManagerYARNでは、ジョブトラッカーはand Node Manager(ノード固有)と呼ばれる2つの異なるデーモンに分割されます。リソースマネージャーは、監視やステータスの更新を気にせずにスケジューリングジョブを処理するスケジューラーを構成することを除けば、さまざまなジョブへのリソースの割り当てのみを管理します。メモリ、CPU時間、ネットワーク帯域幅などのさまざまなリソースが、と呼ばれる1つのユニットに配置されResource Containerます。AppMastersこれらのリソースコンテナの数と通信し、それに応じて監視/ステータスの詳細でノードマネージャを更新する、さまざまなノードで実行されるさまざまなものがあります。

この種のアプローチを使用すると、map-reduceの観点からパフォーマンスがどのように向上するのか知りたいのですが。また、Yarnの背後にある動機と、Map-reduceの既存の実装に対するその利点について決定的な内容がある場合は、同じことを指摘してください。

4

5 に答える 5

7

Yarn が既存の MR フレームワークを高速化するとは思いません。アーキテクチャを見ると、システムがよりモジュール化されていることがわかりますが、モジュール化は通常、パフォーマンスの向上と相反します。
YARN は MapReduce とは何の関係もないと主張できます。MapReduce は YARN アプリケーションの 1 つになりました。組み込みプログラムから組み込み OS への移行と見なすことができます
。同時に、Yarn は、さまざまなフレームワークを使用したさまざまなMR 実装への扉を開きます。たとえば、データセットがクラスター メモリよりも小さいと仮定すると、はるかに優れたパフォーマンスを得ることができます。http://www.spark-project.org/はその一例だと思います
要約すると、Yarn は既存の MR を改善しませんが、他の MR 実装をあらゆる面で改善できるようにします。

于 2012-10-21T11:32:54.850 に答える
3

上記のすべての回答には多くの情報が含まれていました。すべての情報を次のように簡略化しています。

MapReduce: 糸:

1. プラットフォームとアプリケーションです Hadoop 2.0 のプラットフォームであり、
Hadoop 1.0 では、Hadoop 1.0 には存在しません。
Hadoop 2.0 のアプリケーション

2. 使い捨てシステムです. つまり, 多目的システムです. 実行できます.
MapReduce ジョブのみを実行できます。MapReduce、Spark、Tez、Flink、BSP、MPP、
                                    MPI、Giraph など (汎用)

3. JobTracker のスケーラビリティ、つまりリソー​​ス管理と
リソース管理とアプリケーション管理の両方が分離されます &
RM+NM、パラダイム固有の AM によって管理されるジョブ管理
                                    それぞれ。

4. 不十分なリソース管理 柔軟なリソース管理、つまり、
システム、つまりスロット (マップ/リデュース) コンテナー。

5. 高可用性ではない 高可用性と信頼性。

6. 5000 ノードまでスケールアウト 10000 以上のノードをスケールアウト。

7. ジョブ -> タスク アプリケーション -> ジョブの DAG -> タスク

8. 従来の MapReduce = MapReduce ヤーン MapReduce = MapReduce API +      
   API + MapReduce フレームワーク MapReduce フレームワーク + YARN システム
   + MapReduce System So 上書きされた MR プログラム
                                    Hadoop 1.0 run over Yarn もアウトなし
                                    コードの 1 行を変更する、つまり、
                                    下位互換性。
于 2015-09-01T20:08:16.247 に答える
2

Yarn を追加した Hadoop 2.0 で対処された Hadoop 1.0 の欠点を見てみましょう。

  1. スケーラビリティの問題: Hadoop クラスタに数千のノードがある場合でも、Job Tracker は単一のマシンで実行されます。ジョブ トラッカーの責任: リソース管理、ジョブとタスクのスケジュールと監視。これらのプロセスはすべて単一ノードで実行されるため、このモデルはスケーラブルではありません。
  2. 可用性の問題 (単一障害点) : Job Tracker は単一障害点です。
  3. リソースの使用率: Map & Reduce タスク スロットの数が事前に定義されているため、リソースが適切に使用されていません。すべての Mapper ノードがビジー状態の場合、Reducer ノードはアイドル状態になり、Mapper タスクの処理に使用できません。
  4. Map Reduce フレームワークとの緊密な統合: Hadoop 1.x は Map Reduce ジョブのみを実行できます。Map Reduce ジョブ以外のジョブのサポートはありません。

Hadoop 2.x のYARNアーキテクチャにより、単一のジョブ トラッカーのボトルネックが解消されました。

YARNの基本的な考え方は、リソース管理とジョブのスケジューリング/監視の機能を別々のデーモンに分割することです。アイデアは、グローバルなResourceManager (RM)とアプリケーションごとのApplicationMaster (AM)を持つことです。アプリケーションは、単一のジョブまたはジョブの DAG のいずれかです。

ResourceManagerには、 SchedulerApplicationsManagerという2 つの主要コンポーネントがあります。

スケジューラは、キャパシティやキューなどのよく知られた制約に従って、実行中のさまざまなアプリケーションにリソースを割り当てる役割を果たします。スケジューラは、アプリケーションのステータスの監視や追跡を行わないという意味で、純粋なスケジューラです。

ApplicationsManagerは、ジョブの送信を受け入れ、アプリケーション固有のアプリケーションを実行するための最初のコンテナーをネゴシエートします。ApplicationMaster and provides the service for restarting the ApplicationMaster container on failure.

アプリケーションごとのApplicationMasterは、スケジューラから適切なリソース コンテナをネゴシエートし、それらのステータスを追跡し、進行状況を監視する責任があります。

YARNの今の利点

  1. スケーラビリティの問題が解決されました
  2. 単一障害点はありません。すべてのコンポーネントの可用性が高い
  3. Map と Reduce スロットを適切に使用することで、リソースの使用率が向上しました。
  4. マップリデュース以外のジョブも投入可能
于 2016-02-18T11:09:44.747 に答える