2

次の仕様の 1 台のマシンに Apache Spark 1.6.1 スタンドアロン クラスターを設定しています。

  • CPU: Core i7-4790 (コア数: 4、スレッド数: 8)
  • メモリ: 16GB

conf/spark-env.sh で次の設定を使用しています

export SPARK_WORKER_MEMORY 
export SPARK_WORKER_INSTANCES 
export SPARK_WORKER_CORES
export SPARK_WORKER_DIR

マシンには 4 コアのプロセッサが搭載されているため、可能な構成は次のようになると考えました。

export SPARK_WORKER_MEMORY = 14g
export SPARK_WORKER_INSTANCES = 1
export SPARK_WORKER_CORES = 1
export SPARK_WORKER_DIR =/local_drive/sparkdata

export SPARK_WORKER_MEMORY = 14g
export SPARK_WORKER_INSTANCES = 1
export SPARK_WORKER_CORES = 2
export SPARK_WORKER_DIR =/local_drive/sparkdata

export SPARK_WORKER_MEMORY = 14g
export SPARK_WORKER_INSTANCES = 1
export SPARK_WORKER_CORES = 3
export SPARK_WORKER_DIR =/local_drive/sparkdata

export SPARK_WORKER_MEMORY = 14g
export SPARK_WORKER_INSTANCES = 1
export SPARK_WORKER_CORES = 4
export SPARK_WORKER_DIR =/local_drive/sparkdata

export SPARK_WORKER_MEMORY = 7g
export SPARK_WORKER_INSTANCES = 2
export SPARK_WORKER_CORES = 1
export SPARK_WORKER_DIR =/local_drive/sparkdata

export SPARK_WORKER_MEMORY = 7g
export SPARK_WORKER_INSTANCES = 2
export SPARK_WORKER_CORES = 2
export SPARK_WORKER_DIR =/local_drive/sparkdata

export SPARK_WORKER_MEMORY = 4.5g
export SPARK_WORKER_INSTANCES = 3
export SPARK_WORKER_CORES = 1
export SPARK_WORKER_DIR =/local_drive/sparkdata

export SPARK_WORKER_MEMORY = 3.5g
export SPARK_WORKER_INSTANCES = 4
export SPARK_WORKER_CORES = 1
export SPARK_WORKER_DIR =/local_drive/sparkdata

だから私が考えたのは:

  • メモリは、ワーカー インスタンスの数の間で分割する必要があります。
  • ワーカー コアの数はワーカー インスタンスごとに乗算されるため、8 つのコアがないため、4 つのワーカー インスタンスと 2 つのワーカー コアを持つことはできません。

問題は、構成をテストして次のように設定したことです。

export SPARK_WORKER_MEMORY = 14g
export SPARK_WORKER_INSTANCES = 3
export SPARK_WORKER_CORES = 40
export SPARK_WORKER_DIR =/local_drive/sparkdata

そして、エラーが発生しました。さらに、Apache Web UI では「40 コア」と表示されます。何が起こっている?その場合、実際にいくつのワーカー コアとワーカー インスタンスを使用できますか?

前もって感謝します。

4

0 に答える 0