diff --git a/conf/spark-env.sh.template b/conf/spark-env.sh.template index 6852b23a3426fd51ef78402c532a72d34f306cc3..532a635a1bddff6e88758fec7694aaac1ff2b756 100755 --- a/conf/spark-env.sh.template +++ b/conf/spark-env.sh.template @@ -2,7 +2,7 @@ # Set Spark environment variables for your site in this file. Some useful # variables to set are: -# - MESOS_HOME, to point to your Mesos installation +# - MESOS_NATIVE_LIBRARY, to point to your Mesos native library (libmesos.so) # - SCALA_HOME, to point to your Scala installation # - SPARK_CLASSPATH, to add elements to Spark's classpath # - SPARK_JAVA_OPTS, to add JVM options diff --git a/core/src/main/scala/spark/MesosScheduler.scala b/core/src/main/scala/spark/MesosScheduler.scala index bc9a65457d5e01150d7e676c30f62d3a7ec851b4..71b0c29162466d1ab1be9515e054f4c37a50bdcb 100644 --- a/core/src/main/scala/spark/MesosScheduler.scala +++ b/core/src/main/scala/spark/MesosScheduler.scala @@ -133,7 +133,6 @@ private class MesosScheduler( .build()) } } - environment.build() val memory = Resource.newBuilder() .setName("mem") .setType(Value.Type.SCALAR) diff --git a/repl/src/test/scala/spark/repl/ReplSuite.scala b/repl/src/test/scala/spark/repl/ReplSuite.scala index b8442238b88b55a4828dc06f1c11418b374f9a19..15ebf0c9b84b5afdcb409a26f4f3646567910b64 100644 --- a/repl/src/test/scala/spark/repl/ReplSuite.scala +++ b/repl/src/test/scala/spark/repl/ReplSuite.scala @@ -119,7 +119,7 @@ class ReplSuite extends FunSuite { assertContains("res2: Array[Int] = Array(5, 0, 0, 0, 0)", output) } - if (System.getenv("MESOS_HOME") != null) { + if (System.getenv("MESOS_NATIVE_LIBRARY") != null) { test ("running on Mesos") { val output = runInterpreter("localquiet", """ var v = 7 diff --git a/run b/run index c7fc65b5f6b2bc031d58b13b588369fc74ecc5a5..2bc025ec0be9a581c91daef046d9c7dbf632d588 100755 --- a/run +++ b/run @@ -13,22 +13,22 @@ if [ -e $FWDIR/conf/spark-env.sh ] ; then . $FWDIR/conf/spark-env.sh fi +# If the user specifies a Mesos JAR, put it before our included one on the classpath MESOS_CLASSPATH="" -MESOS_LIBRARY_PATH="" - -if [ "x$MESOS_HOME" != "x" ] ; then - MESOS_CLASSPATH="$MESOS_HOME/lib/java/mesos.jar" - MESOS_LIBRARY_PATH="$MESOS_HOME/lib/java" +if [ "x$MESOS_JAR" != "x" ] ; then + MESOS_CLASSPATH="$MESOS_JAR" fi +# Figure out how much memory to use per executor and set it as an environment +# variable so that our process sees it and can report it to Mesos if [ "x$SPARK_MEM" == "x" ] ; then SPARK_MEM="512m" fi -export SPARK_MEM # So that the process sees it and can report it to Mesos +export SPARK_MEM # Set JAVA_OPTS to be able to load native libraries and to set heap size JAVA_OPTS="$SPARK_JAVA_OPTS" -JAVA_OPTS+=" -Djava.library.path=$SPARK_LIBRARY_PATH:$FWDIR/lib:$FWDIR/src/main/native:$MESOS_LIBRARY_PATH" +JAVA_OPTS+=" -Djava.library.path=$SPARK_LIBRARY_PATH" JAVA_OPTS+=" -Xms$SPARK_MEM -Xmx$SPARK_MEM" # Load extra JAVA_OPTS from conf/java-opts, if it exists if [ -e $FWDIR/conf/java-opts ] ; then @@ -36,35 +36,37 @@ if [ -e $FWDIR/conf/java-opts ] ; then fi export JAVA_OPTS -CORE_DIR=$FWDIR/core -REPL_DIR=$FWDIR/repl -EXAMPLES_DIR=$FWDIR/examples -BAGEL_DIR=$FWDIR/bagel +CORE_DIR="$FWDIR/core" +REPL_DIR="$FWDIR/repl" +EXAMPLES_DIR="$FWDIR/examples" +BAGEL_DIR="$FWDIR/bagel" # Build up classpath -CLASSPATH="$SPARK_CLASSPATH:$CORE_DIR/target/scala-$SCALA_VERSION/classes:$MESOS_CLASSPATH" -CLASSPATH+=:$FWDIR/conf -CLASSPATH+=:$REPL_DIR/target/scala-$SCALA_VERSION/classes -CLASSPATH+=:$EXAMPLES_DIR/target/scala-$SCALA_VERSION/classes +CLASSPATH="$SPARK_CLASSPATH" +CLASSPATH+=":$MESOS_CLASSPATH" +CLASSPATH+=":$FWDIR/conf" +CLASSPATH+=":$CORE_DIR/target/scala-$SCALA_VERSION/classes" +CLASSPATH+=":$REPL_DIR/target/scala-$SCALA_VERSION/classes" +CLASSPATH+=":$EXAMPLES_DIR/target/scala-$SCALA_VERSION/classes" for jar in `find $CORE_DIR/lib -name '*jar'`; do - CLASSPATH+=:$jar + CLASSPATH+=":$jar" done for jar in `find $FWDIR/lib_managed/jars -name '*jar'`; do - CLASSPATH+=:$jar + CLASSPATH+=":$jar" done for jar in `find $FWDIR/lib_managed/bundles -name '*jar'`; do - CLASSPATH+=:$jar + CLASSPATH+=":$jar" done for jar in `find $REPL_DIR/lib -name '*jar'`; do - CLASSPATH+=:$jar + CLASSPATH+=":$jar" done CLASSPATH+=:$BAGEL_DIR/target/scala-$SCALA_VERSION/classes export CLASSPATH # Needed for spark-shell if [ -n "$SCALA_HOME" ]; then - SCALA=${SCALA_HOME}/bin/scala + SCALA="${SCALA_HOME}/bin/scala" else SCALA=scala fi -exec $SCALA -cp $CLASSPATH "$@" +exec "$SCALA" -cp "$CLASSPATH" "$@"