2016-05-27 1 views

答えて

1

の追加は、Sparkアプリケーションがデフォルト(マシン上で使用できるようにするコアの総数を指定します。利用可能なすべてのコア)。

export SPARK_WORKER_INSTANCES=2 
export SPARK_WORKER_CORES=6 

これは、6コアごとに2人の労働者を開始します:あなたは、単一のマシン上の2人の労働者が必要な場合は、次の試してくださいまた

詳細はhttp://spark.apache.org/docs/latest/spark-standalone.html#cluster-launch-scriptsを確認してください。

1

アプリケーションでは、sparkConfig.set( "spark.executor.cores"、value)を使用できます。これは、実行者ごとのコアを指します。

スパーク送信を使用している場合は、--total-executor-cores、--executor-coresなどのオプションも使用できます。ヤーンを使用している場合は、dynamicAllocationを選択することもできます。すべてのマシン

export SPARK_WORKER_CORES=12 

SPARK_WORKER_CORESにごspark-env.shに次

http://spark.apache.org/docs/latest/submitting-applications.html http://spark.apache.org/docs/latest/configuration.html

+0

あなたの答えをありがとう。私はスパークシェルを使用しています。しかし、たとえば、各マシンに12コアがある場合は、各マシンに12コアを設定できます。しかし、あなたはspark.executor.coresを12に設定すると言っていますが、エグゼキュータを設定する必要はありませんか?スパーク開始エグゼキュータは自動的に起動しますか?しかし、各エグゼキュータ12コアに設定され、スパークが1人以上のエグゼキュータを起動した場合、十分なコアが得られません。だから私はあなたの意見でこれをどのように設定すべきですか?あなたが私の言ったことを理解することを願っています。もう一度ありがとう! – jUsr

+0

spark-submitで動作するオプションは、spark-shellでも動作します。エグゼキュータごと、またはコアごとにコアを設定できます。また、クラスタが糸で実行されている場合は、動的割り当てを使用できます。インスタンスの数を制御する必要がある場合は、spark.executor.instancesもあります。ドキュメントをチェックすると、すべての設定が文書化されます。 – Brian

関連する問題