2017-12-06 23 views
1

私は高性能スパークを読み取ることにより、スパーク・アプリケーションを構成する方法を学んでいます、と述べた一文が私を混乱されています。私の経験でSpark DriverのメモリはExecutorリソースにどのように影響しますか?

、スパーク・ドライバ・メモリーを設定するための良いヒューリスティックは、単に 最低でありますエグゼキュータに可能な限り最大限のリソースを提供するドライバのメモリエラーを引き起こす可能性のある値です( )。

私の理解では、ドライバはそれ自身のノードに存在し、エグゼキュータはワーカーノード上に独立して存在します。私は、エグゼキュータに影響を与えることを心配することなく、ドライバのメモリを最大限に引き出すことができると想定していました。

本は何を示唆していますか?そうであれば、なぜ/どのようにドライバメモリがエグゼキュータリソースに影響を及ぼしますか?

答えて

1

localモードを除くと、ドライバは、エグゼキュータと同じ場所に配置することができる:ドライバがワーカーノードのいずれかで実行クラスタモードで

  • ワーカーノードの1つでクライアントモードが開始されている場合。

どちらの場合でも、ドライバはエグゼキュータと同じリソースプールで競合することができます。最初のケースでは、リソース・マネージャー・レベル、ホスト・システム・レベルの2番目のケースで発生します。

2番目のケースはあまり面白くありませんが、最初にドライバに割り当てられたリソースでは、クラスタマネージャがエグゼキュータに提供できるプールが減ります。

+1

@yuuisland spark-submitを使用してアプリケーションを送信するときに--deploy-modeコマンドライン引数を使用します。 --deploy-mode clusterはそれを起こさせます。 --deploy-mode clientがデフォルトです。 – Greg

0

スパークドライバのメモリはExecutorリソースにどのように影響しますか?

ドライバとエグゼキュータがすべて同じマシン上で実行される1つのエッジの場合を除き、そうではありません。

私の理解では、ドライバはそれ自身のノードに存在し、エグゼキュータはワーカーノード上に独立して存在します。私は、エグゼキュータに影響を与えることを心配することなく、ドライバのメモリを最大限に引き出すことができると想定していました。

これも私の理解であり、私たちが間違っていると分かる展開シナリオを見つけることができないようです。

「いいえ」の段落は、部品はより意味をなさないでしょう。

私の経験では、Sparkドライバメモリを設定するための優れたヒューリスティックは、ドライバにメモリエラーを引き起こさない最小限の値です。

これは問題ありません。

関連する問題