私は3台のマシンを持っています。各マシンは12コアです。私は12コアを使用するためにどのようにスパークを設定できますか?特定の数のコアを使用するようにsparkを設定するにはどうすればよいですか?
spark-env.shでは既にメモリを設定していますが、コアの数を設定する方法はありません。助けてもらえますか?
私は3台のマシンを持っています。各マシンは12コアです。私は12コアを使用するためにどのようにスパークを設定できますか?特定の数のコアを使用するようにsparkを設定するにはどうすればよいですか?
spark-env.shでは既にメモリを設定していますが、コアの数を設定する方法はありません。助けてもらえますか?
の追加は、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を確認してください。
アプリケーションでは、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
あなたの答えをありがとう。私はスパークシェルを使用しています。しかし、たとえば、各マシンに12コアがある場合は、各マシンに12コアを設定できます。しかし、あなたはspark.executor.coresを12に設定すると言っていますが、エグゼキュータを設定する必要はありませんか?スパーク開始エグゼキュータは自動的に起動しますか?しかし、各エグゼキュータ12コアに設定され、スパークが1人以上のエグゼキュータを起動した場合、十分なコアが得られません。だから私はあなたの意見でこれをどのように設定すべきですか?あなたが私の言ったことを理解することを願っています。もう一度ありがとう! – jUsr
spark-submitで動作するオプションは、spark-shellでも動作します。エグゼキュータごと、またはコアごとにコアを設定できます。また、クラスタが糸で実行されている場合は、動的割り当てを使用できます。インスタンスの数を制御する必要がある場合は、spark.executor.instancesもあります。ドキュメントをチェックすると、すべての設定が文書化されます。 – Brian