2017-02-04 4 views
0

こんにちはJAVAでの私のスパーク構成は次のとおりです。sparkのJavaコードからジョブを開始できません。初期の仕事は、すべてのリソースを受け入れていない

:今、私は、私は警告を取得しています(提出はない瓶)コード内から任意のジョブを投入していたときに

ss=SparkSession.builder() 
    .config("spark.driver.host", "192.168.0.103") 
    .config("spark.driver.port", "4040") 
    .config("spark.dynamicAllocation.enabled", "false") 
    .config("spark.cores.max","1") 
    .config("spark.executor.memory","471859200") 
    .config("spark.executor.cores","1") 
    //.master("local[*]") 
    .master("spark://kousik-pc:7077") 
    .appName("abc") 
    .getOrCreate(); 

TaskSchedulerImpl:初期ジョブがリソースを受け入れませんでした。労働者が登録されていることを確認するためにクラスタUIを確認し、十分なリソースを持っている

にスパークUIがスクリーンショットにあるenter image description here

労働者がコマンドから開始されている。

~/spark/sbin/start-slave.sh 

すべて待ち状態にある4つのジョブがJavaコードから送信されます。すべてのサイトからすべてのソリューションを試しました。何か考えてください。

答えて

1

私の理解しているように、実行コアを1つだけ使用してスパークジョブを実行する場合は、spark.executor.coresを指定する必要はありません。

./bin/spark-submit \ 
    --class org.apache.spark.examples.SparkPi \ 
    --master spark://xxx.xxx.xxx.xxx:7077 \ 
    --executor-memory 20G \ 
    --total-executor-cores 100 \ 
    /path/to/examples.jar \ 
    1000 
:その値は以下のような spark-submit commandマスター、エグゼキュータ・メモリ/コアのような構成の詳細を提供するために、1

その常に良い習慣であるよう

spark.cores.maxは、各ジョブにのみつのコアを割り当てる処理します場合

あなたが明示的にあなたの​​コマンドで各ジョブの使用--total-executor-coresへのエグゼキュータの数を指定したい場合は

文書を確認してくださいhere

関連する問題