blob: 91c49af4589bf91fc148d8dc525c46ee8c462e18 [file] [log] [blame]
#!/bin/bash
SCALA_VERSION=2.9.2
# Figure out where the Scala framework is installed
FWDIR="$(cd `dirname $0`; pwd)"
# Export this as SPARK_HOME
export SPARK_HOME="$FWDIR"
# Load environment variables from conf/spark-env.sh, if it exists
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=""
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
# 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"
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
JAVA_OPTS+=" `cat $FWDIR/conf/java-opts`"
fi
export JAVA_OPTS
CORE_DIR="$FWDIR/core"
REPL_DIR="$FWDIR/repl"
EXAMPLES_DIR="$FWDIR/examples"
BAGEL_DIR="$FWDIR/bagel"
# Build up classpath
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 $FWDIR/lib_managed/jars -name '*jar'`; do
CLASSPATH+=":$jar"
done
for jar in `find $FWDIR/lib_managed/bundles -name '*jar'`; do
CLASSPATH+=":$jar"
done
for jar in `find $REPL_DIR/lib -name '*jar'`; do
CLASSPATH+=":$jar"
done
CLASSPATH+=:$BAGEL_DIR/target/scala-$SCALA_VERSION/classes
export CLASSPATH # Needed for spark-shell
# The JAR file used in the examples.
for jar in `find $EXAMPLES_DIR/target/scala-$SCALA_VERSION -name '*jar'`; do
export SPARK_EXAMPLES_JAR="$jar"
done
if [ -n "$SCALA_HOME" ]; then
SCALA="${SCALA_HOME}/bin/scala"
else
SCALA=scala
fi
exec "$SCALA" -cp "$CLASSPATH" "$@"