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上の環境タブを確認する例を示します
これは私が使用している私の火花defaults.confにあります受け取ったパラメータがUIに何か他のものがまだ表示されています
Sparkに何が欲しいものよりもコアの数が違うのでしょうか?私は明らかにそれをグーグルで試みたが、そのトピックに関する有用な何も事前に
おかげ
どのようにスパークを実行していますか?クラスタモードまたはクライアントモード? YARN(executor.instancesの使用に基づいて..)? –
スタンドアロン(質問の冒頭にあります)、YARNではなく、私はスパーク送信ラインを追加することを考えましたが、マスターとメインクラスだけを残し、残りはspark-defaults.confによって与えられました – Gideon
これは意味があります:スタンドアロンモードでは、貪欲な戦略が使用され、コアとメモリが使用されるため、多くのエグゼキュータが作成されます。あなたの場合、エグゼキュータごとに1コアが指定されているため、Sparkは8コアが利用可能であるため8エグゼキュータを作成しようとします。ただし、30GBのRAMしか使用できないため、6つしか作成できません(6つのエグゼキュータと各5GBのRAM)。あなたは6人のエグゼクティブで終わります。 'spark.executor.instances'はYARNのみの設定です。あなたの最善の策は、 'spark.cores.max'を使ってコアの総数を2に設定することです。これがもっと良いかどうか教えてください。 –