2016-06-12 9 views
1

私はYARNコンテナ割り当てコードを試してみようとしています。コンテナの割り当ては、クラスタ内の特定のマシンにコンテナを配置することを意味します。YARN(Hadoop)のコンテナ割り当てコード

自分のコンテナ割り当てコードを書きたいと思います。まず、HadoopをYARNを使って擬似分散モードで実行しています。私は、ソースコード内の関連するポイントを見つけようとしています。今のところ、printステートメントを使用して、割り当てが行われるクラスhadoop-source-code/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/client/ApplicationMasterProtocolPBClientImpl.java#allocateを特定することができました。しかし、私はそれをさらに絞り込むことはできません。この方法にさらに進んで、私は何も印刷することができませんでした。

要約すると、私は、既存のコンテナ割り当て技法を置き換えるために自分のコードを書く必要があるHadoopソースコードの正確な位置を探したいと思います。まず

答えて

0
I have not been able to print anything 

、私はロギングはアプリケーション固有のものですが、リソースマネージャに関連するすべての情報はlogフォルダの下にhadoop-{username}-resourcemanager-{username}.logという名前のログファイルの下にあると思いました。 printステートメントの代わりに、デバッグにLOG.infoを使用しました。私はFIFOスケジューラおよび割り当て機構を使用しています

Location of allocation mechanism in hadoop source code 

FifoScheduler#nodeUpdateメソッドから呼び出されFifoScheduler#assignContainersから呼び出されるメソッドFifoScheduler#assignContainersOnNodeの下にあります。

FifoScheduler#handleメソッド(more information here)があり、さまざまなイベントの追跡を続けます。 NODE_UPDATEは、頻繁にトリガされるものの1つで、したがって、指定されたノード上のコンテナの割り当てが行われます。

関連する問題