2016-06-13 14 views
5

TLを使用して、それに渡されているものよりもコアの異なる数を示し; DRスパーク火花提出

スパークUIは、スパーク提出

を使用しているとき、私はそれを求めているものよりもコアとメモリの異なる数を示してい

詳細:

私はスタンドアロンモードでSpark 1.6を実行しています。 私がspark-submitを実行すると、エグゼキュータのコアが1つ、ドライバーのコアが1つのexecutorインスタンスが1つ渡されます。 私は、アプリケーションが2コアで実行されることが予想されます。 UIの環境タブをチェックすると、私が与えた正しいパラメータが表示されていることがわかりますが、まだ別の数のコアを使用しているようです。あなたはここでそれを見ることができます。これらは確かにあることを

spark.executor.memory 5g 
spark.executor.cores 1 
spark.executor.instances 1 
spark.driver.cores 1 

スパークUI上の環境タブを確認する例を示します

enter image description here

これは私が使用している私の火花defaults.confにあります受け取ったパラメータがUIに何か他のものがまだ表示されています

Sparkに何が欲しいものよりもコアの数が違うのでしょうか?私は明らかにそれをグーグルで試みたが、そのトピックに関する有用な何も事前に

おかげ

+0

どのようにスパークを実行していますか?クラスタモードまたはクライアントモード? YARN(executor.instancesの使用に基づいて..)? –

+0

スタンドアロン(質問の冒頭にあります)、YARNではなく、私はスパーク送信ラインを追加することを考えましたが、マスターとメインクラスだけを残し、残りはspark-defaults.confによって与えられました – Gideon

+2

これは意味があります:スタンドアロンモードでは、貪欲な戦略が使用され、コアとメモリが使用されるため、多くのエグゼキュータが作成されます。あなたの場合、エグゼキュータごとに1コアが指定されているため、Sparkは8コアが利用可能であるため8エグゼキュータを作成しようとします。ただし、30GBのRAMしか使用できないため、6つしか作成できません(6つのエグゼキュータと各5GBのRAM)。あなたは6人のエグゼクティブで終わります。 'spark.executor.instances'はYARNのみの設定です。あなたの最善の策は、 'spark.cores.max'を使ってコアの総数を2に設定することです。これがもっと良いかどうか教えてください。 –

答えて

5

TLを見つけることができませんでした。DR

使用spark.cores.maxではなく、コアの総数が利用可能に定義するため、数を制限しますエグゼクティブのスタンドアロンモード


貪欲戦略が使用され、あなたの労働者に利用可能なコアとメモリと同数の執行が作成されます。

あなたのケースでは、エクゼキュータごとに1コアと5ギガバイトのメモリを指定しました。 以下は、Sparkで計算されます。

  • 利用できる8つのコアがあるので、それは8人の執行を作成しようとします。
  • ただし、30GBのメモリしか使用できないため、6つのエグゼキュータを作成することができます。各エグゼキュータは5GBのメモリを搭載し、30GBまで増やすことができます。
  • したがって、6つのエグゼキュータが作成され、30GBのメモリで合計6つのコアが使用されます。

スパークは基本的にあなたが求めたものを満たしています。必要なものを実現するために、spark.cores.maxオプションを使用してhereと記載し、必要なコアの正確な数を指定することができます。

少数サイドノート:

  • spark.executor.instances私も数の概念を容易に取り組んでいますすでに1つのコアへ
  • spark.driver.memoryデフォルト

YARNのみの構成でありますエグゼクターをスタンドアロンモードで使用している場合、Sparkの次のリリースに統合され、外出先で計算することなく、エグゼキュータの数を正確に把握するのに役立ちます。

+0

マスタにジョブを送信中にエラーが発生しました - 初期ジョブは受け付けられません - http://stackoverflow.com/questions/38359801/spark-job-submitted-waiting-taskschedulerimpl-initial-job-not-accepted - Any関係wrt割り当てるコア数/メモリ... POST APIコールを使用して、質問に記載されているようにアプリケーションを起動する –

関連する問題