Last active
June 24, 2016 20:41
-
-
Save addisonj/42b4f0f9f4700e10a9092e99560667d7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Script to start the job manager | |
# args: <work dir for context> <cluster address> [proxy_user] | |
set -e | |
get_abs_script_path() { | |
pushd . >/dev/null | |
cd $(dirname $0) | |
appdir=$(pwd) | |
popd >/dev/null | |
} | |
get_abs_script_path | |
. $appdir/setenv.sh | |
sjsJar=${SJS_JAR_LOC:-$appdir/spark-job-server.jar} | |
if [ -n "$ADD_SPARK_CONF" ]; then | |
IFS=', ' read -r -a sparkOpts <<< "$ADD_SPARK_CONF" | |
addConf="" | |
for conf in "${sparkOpts[@]}"; do | |
addConf="${addConf} --conf ${conf} " | |
done | |
else | |
addConf="" | |
fi | |
# Override logging options to provide per-context logging | |
LOGGING_OPTS="-Dlog4j.configuration=file:$appdir/log4j-server.properties -DLOG_DIR=$1" | |
GC_OPTS="-XX:+UseConcMarkSweepGC \ | |
-verbose:gc -XX:+PrintGCTimeStamps -Xloggc:$appdir/gc.out \ | |
-XX:MaxPermSize=512m \ | |
-XX:+CMSClassUnloadingEnabled " | |
JAVA_OPTS="-XX:MaxDirectMemorySize=$MAX_DIRECT_MEMORY \ | |
-XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true" | |
MAIN="spark.jobserver.JobManager" | |
if [ "$CLUSTER_MODE" = true ]; then | |
clusterOpts="--master $SPARK_MASTER --deploy-mode cluster --supervise" | |
else | |
clusterOpts="" | |
fi | |
if [ ! -z $3 ]; then | |
proxyUser="--proxy-user $3" | |
else | |
proxyUser="" | |
fi | |
cmd='$SPARK_HOME/bin/spark-submit --class $MAIN --driver-memory $JOBSERVER_MEMORY \ | |
--conf \"spark.executor.extraJavaOptions=$LOGGING_OPTS\" \ | |
--files $1/context.conf,$conffile \ | |
$addConf \ | |
$clusterOpts \ | |
$proxyUser \ | |
--driver-java-options \"$GC_OPTS $JAVA_OPTS $LOGGING_OPTS $CONFIG_OVERRIDES\" \ | |
$sjsJar \$MESOS_SANDBOX akka.tcp://JobServer@${HOST}:41999 docker.conf' | |
eval "echo $cmd" | |
eval $cmd & |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Docker environment vars | |
# NOTE: only static vars not intended to be changed by users should appear here, because | |
# this file gets sourced in the middle of server_start.sh, so it will override | |
# any env vars set in the docker run command line. | |
PIDFILE=spark-jobserver.pid | |
SPARK_HOME=/spark | |
SPARK_CONF_DIR=$SPARK_HOME/conf | |
# For Docker, always run start script as foreground | |
JOBSERVER_FG=1 | |
JOBSERVER_MEMORY=2G | |
SJS_JAR_LOC=http://.../sjs/spark-job-server.jar | |
ADD_SPARK_CONF="spark.mesos.coarse=true, spark.mesos.executor.docker.image=mesosphere/spark:1.0.0-1.6.1-2" | |
CLUSTER_MODE=true | |
MAX_DIRECT_MEMORY=2G |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment