2017-02-01 4 views
0

私は、1つの名前ノード、2つのデータノード、1つのリソースマネージャー、2つのノードマネージャーの設定を持っています。すべてのコンポーネントはドッカーコンテナーとして実行されています。 2台のマシン(2台のクライアント)からspark submit(糸クラスターモード)を実行するたびに、ジョブは順番に完了します。 Job1とJob2の両方がAccepted状態になり、Job1がRunningとFinished状態になり、Job2が選択されて実行を終了します。 これらのジョブが並行して実行される方法はありますか? アプリケーションマネージャは、ノードマネージャにこれらのタスクを与える方法をどのように選択しますか?YARNのアプリケーションマネージャー

答えて

0

クラスタの設定ではYARN Capacity Schedulerが使用されています。これは、使用可能なHadoopディストリビューションのほとんどでデフォルトです。複数のジョブが同じユーザによって提出された場合、それらはFIFOに続く同じユーザ待ち行列に入る。これは容量スケジューラのデフォルト動作です。

Fair Schedulerは、使用可能なリソースを共有することによってジョブを並行して実行するように設定できます。

<property> 
     <name>yarn.scheduler.fair.allocation.file</name> 
     <value>/path/to/allocation-file.xml</value> 
</property> 

このプロパティが設定されていない場合は、ユーザーごとのキューはデフォルトで作成され、アロケーションファイルにyarn-site.xml

<property> 
    <name>yarn.resourcemanager.scheduler.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> 
</property> 

設定公平スケジューラqueuesにこのプロパティを追加します。

+1

これは機能しました。ありがとう – Aneri

関連する問題