Repository: bigtop Updated Branches: refs/heads/master ba9136c57 -> 33e8d3c6e
BIGTOP-1974. Revise SPARK_HOME/conf/spark-env.sh Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/33e8d3c6 Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/33e8d3c6 Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/33e8d3c6 Branch: refs/heads/master Commit: 33e8d3c6e308bfcc9ed22d66db4368744bf89298 Parents: ba9136c Author: YoungWoo Kim <yw...@apache.org> Authored: Thu Aug 20 19:53:43 2015 +0900 Committer: YoungWoo Kim <yw...@apache.org> Committed: Tue Aug 25 15:03:27 2015 +0900 ---------------------------------------------------------------------- .../puppet/modules/spark/templates/spark-env.sh | 80 +++++++++++++------- .../src/common/spark/install_spark.sh | 32 ++------ .../src/common/spark/spark-worker.svc | 2 +- 3 files changed, 62 insertions(+), 52 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bigtop/blob/33e8d3c6/bigtop-deploy/puppet/modules/spark/templates/spark-env.sh ---------------------------------------------------------------------- diff --git a/bigtop-deploy/puppet/modules/spark/templates/spark-env.sh b/bigtop-deploy/puppet/modules/spark/templates/spark-env.sh index bbd7081..e355034 100644 --- a/bigtop-deploy/puppet/modules/spark/templates/spark-env.sh +++ b/bigtop-deploy/puppet/modules/spark/templates/spark-env.sh @@ -14,39 +14,67 @@ # See the License for the specific language governing permissions and # limitations under the License. -# This file contains environment variables required to run Spark. Copy it as -# spark-env.sh and edit that to configure Spark for your site. -# -# The following variables can be set in this file: +# This file is sourced when running various Spark programs. +# Copy it as spark-env.sh and edit that to configure Spark for your site. + +# Options read when launching programs locally with +# ./bin/run-example or ./bin/spark-submit +# - HADOOP_CONF_DIR, to point Spark towards Hadoop configuration files # - SPARK_LOCAL_IP, to set the IP address Spark binds to on this node -# - MESOS_NATIVE_LIBRARY, to point to your libmesos.so if you use Mesos -# - SPARK_JAVA_OPTS, to set node-specific JVM options for Spark. Note that -# we recommend setting app-wide options in the application's driver program. -# Examples of node-specific options : -Dspark.local.dir, GC options -# Examples of app-wide options : -Dspark.serializer -# -# If using the standalone deploy mode, you can also set variables for it here: +# - SPARK_PUBLIC_DNS, to set the public dns name of the driver program +# - SPARK_CLASSPATH, default classpath entries to append + +# Options read by executors and drivers running inside the cluster +# - SPARK_LOCAL_IP, to set the IP address Spark binds to on this node +# - SPARK_PUBLIC_DNS, to set the public DNS name of the driver program +# - SPARK_CLASSPATH, default classpath entries to append +# - SPARK_LOCAL_DIRS, storage directories to use on this node for shuffle and RDD data +# - MESOS_NATIVE_JAVA_LIBRARY, to point to your libmesos.so if you use Mesos + +# Options read in YARN client mode +# - HADOOP_CONF_DIR, to point Spark towards Hadoop configuration files +# - SPARK_EXECUTOR_INSTANCES, Number of workers to start (Default: 2) +# - SPARK_EXECUTOR_CORES, Number of cores for the workers (Default: 1). +# - SPARK_EXECUTOR_MEMORY, Memory per Worker (e.g. 1000M, 2G) (Default: 1G) +# - SPARK_DRIVER_MEMORY, Memory for Master (e.g. 1000M, 2G) (Default: 512 Mb) +# - SPARK_YARN_APP_NAME, The name of your application (Default: Spark) +# - SPARK_YARN_QUEUE, The hadoop queue to use for allocation requests (Default: âdefaultâ) +# - SPARK_YARN_DIST_FILES, Comma separated list of files to be distributed with the job. +# - SPARK_YARN_DIST_ARCHIVES, Comma separated list of archives to be distributed with the job. + +# Options for the daemons used in the standalone deploy mode # - SPARK_MASTER_IP, to bind the master to a different IP address or hostname -# - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT, to use non-default ports +# - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT, to use non-default ports for the master +# - SPARK_MASTER_OPTS, to set config properties only for the master (e.g. "-Dx=y") # - SPARK_WORKER_CORES, to set the number of cores to use on this machine -# - SPARK_WORKER_MEMORY, to set how much memory to use (e.g. 1000m, 2g) -# - SPARK_WORKER_PORT / SPARK_WORKER_WEBUI_PORT +# - SPARK_WORKER_MEMORY, to set how much total memory workers have to give executors (e.g. 1000m, 2g) +# - SPARK_WORKER_PORT / SPARK_WORKER_WEBUI_PORT, to use non-default ports for the worker # - SPARK_WORKER_INSTANCES, to set the number of worker processes per node +# - SPARK_WORKER_DIR, to set the working directory of worker processes +# - SPARK_WORKER_OPTS, to set config properties only for the worker (e.g. "-Dx=y") +# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. "-Dx=y") +# - SPARK_DAEMON_JAVA_OPTS, to set config properties for all daemons (e.g. "-Dx=y") +# - SPARK_PUBLIC_DNS, to set the public dns name of the master or workers +# Generic options for the daemons used in the standalone deploy mode +# - SPARK_CONF_DIR Alternate conf dir. (Default: ${SPARK_HOME}/conf) +# - SPARK_LOG_DIR Where log files are stored. (Default: ${SPARK_HOME}/logs) +# - SPARK_PID_DIR Where the pid file is stored. (Default: /tmp) +# - SPARK_IDENT_STRING A string representing this instance of spark. (Default: $USER) +# - SPARK_NICENESS The scheduling priority for daemons. (Default: 0) -### Let's run everything with JVM runtime, instead of Scala -export SPARK_LAUNCH_WITH_SCALA=0 -export SPARK_LIBRARY_PATH=${SPARK_HOME}/lib -export SCALA_LIBRARY_PATH=${SPARK_HOME}/lib -export SPARK_MASTER_WEBUI_PORT=<%= @master_ui_port %> -export SPARK_MASTER_PORT=<%= @master_port %> +export HADOOP_HOME=${HADOOP_HOME:-/usr/lib/hadoop} +export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-/etc/hadoop/conf} -### Comment above 2 lines and uncomment the following if -### you want to run with scala version, that is included with the package -#export SCALA_HOME=${SCALA_HOME:-/usr/lib/spark/scala} -#export PATH=$PATH:$SCALA_HOME/bin +export SPARK_MASTER_IP=<%= @master_port %> +export SPARK_MASTER_WEBUI_PORT=<%= @master_ui_port %> +export SPARK_MASTER_PORT=7077 +export SPARK_WORKER_PORT=7078 +export SPARK_WORKER_WEBUI_PORT=18081 +export SPARK_WORKER_DIR=/var/run/spark/work +export SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=hdfs:///var/log/spark/apps -Dspark.history.ui.port=18082" -### change the following to specify a real cluster's Master host -export STANDALONE_SPARK_MASTER_HOST=<%= @master_host %> +export SPARK_LOG_DIR=/var/log/spark +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HADOOP_HOME}/lib/native http://git-wip-us.apache.org/repos/asf/bigtop/blob/33e8d3c6/bigtop-packages/src/common/spark/install_spark.sh ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/common/spark/install_spark.sh b/bigtop-packages/src/common/spark/install_spark.sh index a23caed..78d13b3 100644 --- a/bigtop-packages/src/common/spark/install_spark.sh +++ b/bigtop-packages/src/common/spark/install_spark.sh @@ -173,38 +173,20 @@ EOF done cat >> $PREFIX/$CONF_DIR/spark-env.sh <<EOF -### Let's run everything with JVM runtime, instead of Scala -export SPARK_LAUNCH_WITH_SCALA=0 -export SPARK_LIBRARY_PATH=\${SPARK_HOME}/lib -export SCALA_LIBRARY_PATH=\${SPARK_HOME}/lib -export SPARK_MASTER_WEBUI_PORT=18080 +export HADOOP_HOME=\${HADOOP_HOME:-/usr/lib/hadoop} +export HADOOP_CONF_DIR=\${HADOOP_CONF_DIR:-/etc/hadoop/conf} + +export SPARK_MASTER_IP=\`hostname\` export SPARK_MASTER_PORT=7077 +export SPARK_MASTER_WEBUI_PORT=18080 export SPARK_WORKER_PORT=7078 export SPARK_WORKER_WEBUI_PORT=18081 export SPARK_WORKER_DIR=/var/run/spark/work -export SPARK_LOG_DIR=/var/log/spark export SPARK_HISTORY_OPTS="\$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=hdfs:///var/log/spark/apps -Dspark.history.ui.port=18082" -export HADOOP_HOME=\${HADOOP_HOME:-/usr/lib/hadoop} -export HADOOP_HDFS_HOME=\${HADOOP_HDFS_HOME:-\${HADOOP_HOME}/../hadoop-hdfs} -export HADOOP_MAPRED_HOME=\${HADOOP_MAPRED_HOME:-\${HADOOP_HOME}/../hadoop-mapreduce} -export HADOOP_YARN_HOME=\${HADOOP_YARN_HOME:-\${HADOOP_HOME}/../hadoop-yarn} -export HADOOP_CONF_DIR=\${HADOOP_CONF_DIR:-/etc/hadoop/conf} - -# Let's make sure that all needed hadoop libs are added properly -CLASSPATH="\$CLASSPATH:\$HADOOP_HOME/*:\$HADOOP_HDFS_HOME/*:\$HADOOP_YARN_HOME/*:\$HADOOP_MAPRED_HOME/*" - -if [ -n "\$HADOOP_HOME" ]; then - export SPARK_LIBRARY_PATH=\$SPARK_LIBRARY_PATH:\${HADOOP_HOME}/lib/native -fi - -### Comment above 2 lines and uncomment the following if -### you want to run with scala version, that is included with the package -#export SCALA_HOME=\${SCALA_HOME:-$LIB_DIR/scala} -#export PATH=\$PATH:\$SCALA_HOME/bin -### change the following to specify a real cluster's Master host -export STANDALONE_SPARK_MASTER_HOST=\`hostname\` +export SPARK_LOG_DIR=/var/log/spark +export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${HADOOP_HOME}/lib/native EOF cat >> $PREFIX/$CONF_DIR/hive-site.xml <<EOF http://git-wip-us.apache.org/repos/asf/bigtop/blob/33e8d3c6/bigtop-packages/src/common/spark/spark-worker.svc ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/common/spark/spark-worker.svc b/bigtop-packages/src/common/spark/spark-worker.svc index af8a5b1..7c12374 100644 --- a/bigtop-packages/src/common/spark/spark-worker.svc +++ b/bigtop-packages/src/common/spark/spark-worker.svc @@ -44,7 +44,7 @@ start() { fi su -s /bin/bash $SVC_USER -c "nohup nice -n 0 \ - ${EXEC_PATH} org.apache.spark.deploy.worker.Worker spark://$STANDALONE_SPARK_MASTER_HOST:$SPARK_MASTER_PORT $DAEMON_FLAGS \ + ${EXEC_PATH} org.apache.spark.deploy.worker.Worker spark://$SPARK_MASTER_IP:$SPARK_MASTER_PORT $DAEMON_FLAGS \ > $LOG_FILE 2>&1 & "'echo $!' > "$PIDFILE" sleep 3