一)准备工作
在linux安装sbt
curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo
sudo yum install sbt
根据spark版本下载
spark-jobserver
https://github.com/spark-jobserver/spark-jobserver/releases
示例下载的版本是0.6.2 https://github.com/spark-jobserver/spark-jobserver/archive/v0.6.2.tar.gz
示例下载的安装位置:/data1/local/wqq/spark-jobserver_bak
二)部署
接下来介绍spark-jobserver
spark-jobserver_bak下目录结构如下:
步骤1:
拷贝config/local.sh.template文件为local.sh,参考命令:cp config/local.sh.template config/local.sh
步骤2:
配置local.sh文件,下面是对文件内容的重要说明。
注意:如果是使用打包命令(server_package.sh)仅仅需要配置spark的相关配置
# Environment and deploy file
# For use with bin/server_deploy, bin/server_package etc.
DEPLOY_HOSTS="10.207.26.250" #使用server_deploy.sh命令部署远程的机器ip或者host,使用server_package.sh命令不用配置
APP_USER=root #部署远程的机器使用用户,使用server_package.sh命令不用配置
APP_GROUP=root#部署远程的机器使用用户所属组,使用server_package.sh命令不用配置
# optional SSH Key to login to deploy server
#SSH_KEY=/path/to/keyfile.pem
INSTALL_DIR=/data1/local/spark-jobserver #远程机器安装路径,使用server_package.sh命令不用配置
LOG_DIR=/data1/local/spark-jobserver/logs #job进程日志位置
PIDFILE=spark-jobserver.pid #job进程的pid文件名称
JOBSERVER_MEMORY=1G #job进程内存大小
#以下是spark的相关配置 start
SPARK_VERSION=1.6.0
MAX_DIRECT_MEMORY=512M
SPARK_HOME=/data1/local/spark-1.6.1-bin-hadoop2.3
SPARK_CONF_DIR=$SPARK_HOME/conf
#spark的相关配置 end
# Only needed for Mesos deploys
SPARK_EXECUTOR_URI=/home/spark/spark-1.6.0.tar.gz
# Only needed for YARN running outside of the cluster
# You will need to COPY these files from your cluster to the remote machine
# Normally these are kept on the cluster in /etc/hadoop/conf
# YARN_CONF_DIR=/pathToRemoteConf/conf
# HADOOP_CONF_DIR=/pathToRemoteConf/conf
#
# Also optional: extra JVM args for spark-submit
# export SPARK_SUBMIT_OPTS+="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5433"
SCALA_VERSION=2.10.4 # or 2.11.6
步骤3:
打包或者远程部署
打包使用bin/server_package.sh local;远程部署使用bin/server_deploy.sh local(注释:如果执行报错,提醒你找不到local.sh文件,你可以根据错误提示信息把local.sh文件拷贝到相应的路径下)
执行命令后,sbt会下载相关jar包,时间较长。
打包命令过程:
上图中的红色圈出的路径就是打包放置的路径。打包成功后,需要使用tar命令解压到需要安装机器的目录下,示例安装的路径是/data1/local/spark-jobserver
远程部署命令过程:
需要输入root密码。执行命令后,就可以在远程机器的相应目录中看到,示例local.sh配置的位置是/data1/local/spark-jobserver
步骤4:
启动
在/data1/local/spark-jobserver目录下的结构如下:
需要查看一下local.conf和settings.sh二个文件的配置是否有问题,没有问题就可以使用server_start.sh启动jobserver 启动后会spark-jobserver.pid这个文件,查看里面的内容就是进程的id号。
正确启动后就可以通过浏览器访问该主机的8090端口,例如:10.207.26.250:8090。
参考文档&项目地址
https://github.com/spark-jobserver/spark-jobserver