Spark スタンドアロン クラスターをセットアップしました。ここで、spark-submit を使用してジョブを送信できます。
spark-submit \
--class blah.blah.MyClass \
--master spark://myaddress:6066 \
--executor-memory 8G \
--deploy-mode cluster \
--total-executor-cores 12 \
/path/to/jar/myjar.jar
問題は、複数のジョブを同時に送信したときです。たとえば、一度に 20 以上のジョブを送信すると、最初のいくつかが正常に終了しました。他のすべては、リソースを待って立ち往生しています。使用可能なすべてのメモリがドライバーに割り当てられていることに気付きました。そのため、ドライバー セクションではすべてが実行されていますが、実行中のアプリケーション セクションではすべてが待機状態になっています。
最初に SUBMITTED ドライバーではなく WAITING エグゼキューターにメモリを割り当てるように spark スタンドアローンに指示するにはどうすればよいですか?
ありがとうございました
以下は私の spark-defaults.conf の抜粋です
spark.master spark://address:7077
spark.eventLog.enabled true
spark.eventLog.dir /path/tmp/sparkEventLog
spark.driver.memory 5g
spark.local.dir /path/tmp
spark.ui.port xxx