Understanding Hadoop Yarn
On 12月 9, 2021 by adminYARN – Yet Another Resource Negotiator, is part of Hadoop 2 version, is one of two major components of Apache Hadoop (with HDFS).これは、Yarn が Hadoop の主要なコンポーネントであることを説明します。 YARN は、クラスタリソースの使用とデータに適用する処理を計画します。
上記は Yarn の基本アーキテクチャですが、リソースマネージャーはアーキテクチャ全体のコアコンポーネントで、クラスタの RAM、CPU、その他のリソースを管理する役割を担います。 アプリケーション マスターは、ライフサイクルを通してアプリケーションのスケジューリングを担当し、ノード マネージャーは、このノード上のリソースの供給と分離を担当します。
Resource Manager: クラスタのリソース管理を制御し、また割り当て決定を行う。 リソース・マネージャには2つの主要コンポーネントがあります。 スケジューラ:YarnSchedulerと呼ばれ、容量、公平性、およびサービスレベルアグリーメントのような制約を管理するためのさまざまなポリシーを可能にします。 アプリケーションがクライアントから送信されると、アプリケーション・マネージャはまず、そのアプリケーション・マスタのリソースのアプリケーション要件を満たすことができるかどうかを検証します。十分なリソースが利用可能であれば、アプリケーションをスケジューラに転送し、そうでなければアプリケーションは拒否されます。
- コンテナは、AppMasterによって指定されたタスクを実行する。 ApplicationMasterに割り当てられたリソースを意味します。 ResourceManagerは、リソース/コンテナをApplicationMasterに発行する責任があり、メモリ、CPU、ディスク、ネットワークIOなどのリソースの集合体を指します。
- Application Master:フレームワーク固有のライブラリのインスタンスで、Resource Managerからリソースを交渉し、NodeManagerと協力して、与えられたアプリケーションのために(コンテナとしてバンドルされた)与えられたリソースを実行および監視します。 アプリケーションは、mapreduceジョブ、hiveフレームワーク…
Steps of executing Applications with YARN:
- クライアントからYARNリソースマネージャにアプリケーションが送信されます。
- (ResourceManager内の)ApplicationsManagerは、コンテナをネゴシエートし、アプリケーションのApplicationMasterインスタンスをブートストラップします。
- アプリケーションマスターはResourceManagerに登録し、コンテナ(RAMとCPU)を要求します。
- アプリケーションマスターはNodeManagerと通信し、付与されたコンテナを起動させます。 実行中、アプリケーションは進捗状況やステータス情報をApplicationMasterに提供する。
- アプリケーションマスターは、ResourceManagerにアプリケーションの完了を報告します。
Yarn Scheduler :
Scheduler は、さまざまなキュー、アプリケーションなどの間でクラスタリソースをパーティショニングする責任を持つ、プラグイン可能なポリシーを持っています。 FIFO スケジューラー
FIFO スケジューラーは Hadoop が使用する初期の展開戦略の 1 つで、簡単に Java キューとして解釈することができます。 すべてのアプリケーションは提出順に実行され、前のジョブの完了後のジョブはキューの順に実行されます。
このスケジューラーにより、短いアプリケーションは適度な時間で終了し、長寿命のアプリケーションを飢えさせることはありません。
2. Capacityスケジューラ
CapacityスケジューラはHadoop用のプラグイン式スケジューラで、複数の入居者が安全に大規模クラスタを共有できるようにするためのものです。 リソースは、割り当てられた容量の制約に支配されながら、クラスタを十分に活用する方法で各テナントのアプリケーションに割り当てられます。
キューは通常、共有クラスタの経済性を反映するために管理者によって設定されます。 Capacity Scheduler は、他のキューが空きリソースの使用を許可される前に、組織のサブキュー間でリソースが共有されるように、階層的なキューをサポートします。
3. Fair scheduler
The FairScheduler は Hadoop 用プラグイン式のスケジューラーで、YARN アプリケーションで大規模クラスターのリソースを公正に共有できるようにするためのものです。 フェア スケジューリングは、すべてのアプリケーションが平均して、時間の経過とともにリソースの等しいシェアを得るように、アプリケーションにリソースを割り当てる方法です。
コメントを残す