4

Hadoop-2.x の tasktracker の場所について少し混乱しています。

Hadoop-1.x のデーモンnamenode, datanode, jobtracker, taskracker and secondarynamenode

Hadoop-2.x のデーモンnamenode, datanode, resourcemanager, applicationmaster, secondarynamenode.

これの意味はJobtracker has split up into: resourcemanager and applicationmaster

では、どこtasktrackerですか?

4

9 に答える 9

2

上記のリンクを読んだ後に得られるのは

YARN は、ジョブ トラッカーの機能を分割することにより、従来の MR の欠点を処理します。

1.x の JobTracker の機能とは異なります。つまり、リソース管理とジョブのスケジューリング/監視は別々のデーモンに分割されます。- グローバル ResourceManager (RM) およびアプリケーションごとの ApplicationMaster (AM)

ResourceManager - NameNode、つまりマスター側で実行

  • すべてのアプリケーション間でリソースを配布します

    スケジューラとアプリケーション マネージャの 2 つの主要コンポーネントがあります。

  • スケジューラは純粋なスケジューラです
  • ApplicationsManager は、ジョブの送信を受け入れる責任があります

NodeManager - DataNode、つまりスレーブ側で実行

  • は、マシンごとのフレームワーク エージェントです
  • コンテナーを担当し、リソースの使用状況 (CPU、メモリ、ディスク、ネットワーク) を監視し、同じことを ResourceManager/Scheduler に報告します。

Central ResourceManager と Node Specific Manager をまとめて YARN と呼びます

于 2015-07-03T16:52:12.570 に答える
1

タスク トラッカーは、 Hadoop YARNアーキテクチャの 3 つのコンポーネント (リソース マネージャー、アプリケーション マネージャー、およびアプリケーション マスター)に分割されています。

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

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

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

は ApplicationsManager 、ジョブの送信を受け入れ、アプリケーション固有の ApplicationMaster を実行するための最初のコンテナーをネゴシエートし、失敗時に ApplicationMaster コンテナーを再起動するためのサービスを提供します。

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

ドキュメントリンクを見てください

詳細については、この SE の質問をご覧ください。

Yarn が既存のマップ削減にもたらす追加の利点は何ですか?

于 2016-02-20T15:30:07.077 に答える
0
         Hadoop 1                                      Hadoop 2
1,it is mapreduce1                                  1,it is yarn mapreduce
2, here it has job tracker,                         2,here it has resource manager  
task tracker                                        ,node manager
3,it can send another task tracker                  3,it can send resource manager
                                                     ,timeline server  which  
                                                         stores applicationhistory                                                                                              
于 2016-10-26T07:22:47.303 に答える
0

以下の比較を覚えておいてください。ジョブ トラッカー = リソース マネージャー (コンテナー 0 として知られるアプリケーション マネージャー) + スケジューラー (FIFO、公平なスケジューラー、容量スケジューラー)

Tasktracker = ノード マネージャ

最初に HDPv1 でジョブが送信されたとき 1. ジョブ トラッカーは、ジョブのマッパーとレデューサーを計算し、デッド/ライブ タスク トラッカーを監視し、失敗した場合はマッパーとレデューサーを再生成する責任がありました。

HDPv2 でジョブを送信すると、

リソース マネージャー Java プロセス (スケジューラーとして機能する同じ Java プロセス) は、最初に任意のノード (コンテナー 0 とも呼ばれます) でアプリケーション マネージャーを生成し、次にアプリケーション マネージャーはジョブ コードを読み取り、そのジョブに必要なリソースを計算し、スケジューラーにリソースを要求します (また、ジョブのキューにあるリソースの数も監視します)。スケジューラはノードの名前を計算し、コンテナを生成できる AM に与えます。その後、AM はそれらのノードでコンテナーを生成し、それらを監視します。いずれかのコンテナーが停止した場合、AM が再びスケジューラーに移動し、より多くのリソースをネゴシエートします。したがって、jobtracker の作業は、AM と YARN のスケジューラに分割されます。また、サブミットされた各ジョブには新しい AM が含まれるため、複数の AM が実行されている可能性がありますが、クラスターでは 1 つのスケジューラーのみであることに注意してください。

于 2016-08-19T00:20:57.267 に答える
0

はい、Jobtracker はリソース マネージャーとアプリケーション マスターに分割されました。アプリケーション マスターは、送信されたジョブの数に基づいて、1 つまたはすべてのノード マネージャー インスタンスで実行されます。そのため、ジョブが送信されると、リソース マネージャーはフリー ノード マネージャーの 1 つと通信してアプリケーション マスターとして機能し、そのアプリケーション マスターはジョブ トラッカーになり、他のノード マネージャーは Yarn の子を実行するタスク トラッカーになります。詳細はこちら: http://ercoppa.github.io/HadoopInternals/HadoopArchitectureOverview.html

于 2016-03-04T03:34:47.567 に答える