Skip to content

Commit 97e4bd4

Browse files
committed
[SPARK-5088] Use spark-class for running executors directly
- Changed command for using spark-class directly - Delete sbin/spark-executor and moved some codes into spark-class' case statement
1 parent 1955645 commit 97e4bd4

File tree

3 files changed

+8
-28
lines changed

3 files changed

+8
-28
lines changed

bin/spark-class

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ case "$1" in
7171
'org.apache.spark.executor.MesosExecutorBackend')
7272
OUR_JAVA_OPTS="$SPARK_JAVA_OPTS $SPARK_EXECUTOR_OPTS"
7373
OUR_JAVA_MEM=${SPARK_EXECUTOR_MEMORY:-$DEFAULT_MEM}
74+
export PYTHONPATH="$FWDIR/python:$PYTHONPATH"
75+
export PYTHONPATH="$FWDIR/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH"
7476
;;
7577

7678
# Spark submit uses SPARK_JAVA_OPTS + SPARK_SUBMIT_OPTS +

core/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosSchedulerBackend.scala

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import java.io.File
2121
import java.util.{ArrayList => JArrayList, List => JList}
2222
import java.util.Collections
2323

24+
import org.apache.spark.executor.MesosExecutorBackend
25+
2426
import scala.collection.JavaConversions._
2527
import scala.collection.mutable.{HashMap, HashSet}
2628

@@ -123,14 +125,16 @@ private[spark] class MesosSchedulerBackend(
123125
val command = CommandInfo.newBuilder()
124126
.setEnvironment(environment)
125127
val uri = sc.conf.get("spark.executor.uri", null)
128+
val executorBackendName = classOf[MesosExecutorBackend].getName
126129
if (uri == null) {
127-
val executorPath = new File(executorSparkHome, "/sbin/spark-executor").getCanonicalPath
130+
val executorPath = new File(executorSparkHome, s"/bin/spark-class $executorBackendName")
131+
.getCanonicalPath
128132
command.setValue("%s %s".format(prefixEnv, executorPath))
129133
} else {
130134
// Grab everything to the first '.'. We'll use that and '*' to
131135
// glob the directory "correctly".
132136
val basename = uri.split('/').last.split('.').head
133-
command.setValue("cd %s*; %s ./sbin/spark-executor".format(basename, prefixEnv))
137+
command.setValue(s"cd ${basename}*; $prefixEnv ./bin/spark-class $executorBackendName")
134138
command.addUris(CommandInfo.URI.newBuilder().setValue(uri))
135139
}
136140
val cpus = Resource.newBuilder()

sbin/spark-executor

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)