2016-11-28 5 views
0

私はspark2.0.1を使用しており、ローカルモードでテストしています。spark.executor.memoryの設定がノードのRAMサイズよりも大きい場合でも、IllegalArgumentExceptionは発生しません

私は次のようなドライバアプリケーションがあります。

object AnnoSp { 
    def main(args: Array[String]) { 
     val spark = SparkSession.builder 
    .config("spark.executor.memory", "2000g") 
    .config("spark.driver.memory", "4000g") 
    .master("local[*]") 
    .config("spark.app.name", "Anno BDG") 
    .appName("Anno BDG") 
    .getOrCreate() 
    } 
} 

テストノードのRAMは4Gであり、私は4000グラムとspark.executor.memoryを設定しているが。私はこのアプリケーションがsparkに提出されたが、アプリケーションが正常に実行されたときにIllegalArgumentExceptionの例外があると予想しました。なぜですか?

答えて

1

spark.executor.memoryspark.driver.memoryはjavaアプリケーションの-Xmx値を表します。クラスタ内の各ノードのメモリ容量が異なるため、各ノードにsshを実行してRAM /スワップをチェックする必要があります。 > Why am I able to set -Xmx to a value greater than physical and virtual memory on the machine on both Windows and Solaris?

を - それはあなたのノードが持っているよりも高いことを設定することが可能である理由として

を(また、糸に、あなたのエグゼキュータ/ドライバが開始されますどのノードにはわかりません)

関連する問題