diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2015-04-28 12:08:18 -0700 |
---|---|---|
committer | Andrew Or <andrew@databricks.com> | 2015-04-28 12:08:18 -0700 |
commit | 8aab94d8984e9d12194dbda47b2e7d9dbc036889 (patch) | |
tree | 6ae73a4d711bb4a44db690390ab7626ad2c40f61 /launcher | |
parent | 52ccf1d3739694826915cdf01642bab02958eb78 (diff) | |
download | spark-8aab94d8984e9d12194dbda47b2e7d9dbc036889.tar.gz spark-8aab94d8984e9d12194dbda47b2e7d9dbc036889.tar.bz2 spark-8aab94d8984e9d12194dbda47b2e7d9dbc036889.zip |
[SPARK-4286] Add an external shuffle service that can be run as a daemon.
This allows Mesos deployments to use the shuffle service (and implicitly dynamic allocation). It does so by adding a new "main" class and two corresponding scripts in `sbin`:
- `sbin/start-shuffle-service.sh`
- `sbin/stop-shuffle-service.sh`
Specific options can be passed in `SPARK_SHUFFLE_OPTS`.
This is picking up work from #3861 /cc tnachen
Author: Iulian Dragos <jaguarul@gmail.com>
Closes #4990 from dragos/feature/external-shuffle-service and squashes the following commits:
6c2b148 [Iulian Dragos] Import order and wrong name fixup.
07804ad [Iulian Dragos] Moved ExternalShuffleService to the `deploy` package + other minor tweaks.
4dc1f91 [Iulian Dragos] Reviewer’s comments:
8145429 [Iulian Dragos] Add an external shuffle service that can be run as a daemon.
Diffstat (limited to 'launcher')
-rw-r--r-- | launcher/src/main/java/org/apache/spark/launcher/SparkClassCommandBuilder.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/launcher/src/main/java/org/apache/spark/launcher/SparkClassCommandBuilder.java b/launcher/src/main/java/org/apache/spark/launcher/SparkClassCommandBuilder.java index e601a0a19f..d80abf2a86 100644 --- a/launcher/src/main/java/org/apache/spark/launcher/SparkClassCommandBuilder.java +++ b/launcher/src/main/java/org/apache/spark/launcher/SparkClassCommandBuilder.java @@ -69,6 +69,10 @@ class SparkClassCommandBuilder extends AbstractCommandBuilder { } else if (className.equals("org.apache.spark.executor.MesosExecutorBackend")) { javaOptsKeys.add("SPARK_EXECUTOR_OPTS"); memKey = "SPARK_EXECUTOR_MEMORY"; + } else if (className.equals("org.apache.spark.deploy.ExternalShuffleService")) { + javaOptsKeys.add("SPARK_DAEMON_JAVA_OPTS"); + javaOptsKeys.add("SPARK_SHUFFLE_OPTS"); + memKey = "SPARK_DAEMON_MEMORY"; } else if (className.startsWith("org.apache.spark.tools.")) { String sparkHome = getSparkHome(); File toolsDir = new File(join(File.separator, sparkHome, "tools", "target", |