我正在尝试设置Spark JobServer(SJS)以在独立Spark集群上执行作业。我试图在SPARK集群的其中一个非主节点上部署SJS。我没有使用码头工具,但试图手动。StandAlone集群中的Spark Job-Server配置
我很困惑SJS github中的帮助文档,尤其是deployment部分。我是否需要编辑local.conf和local.sh来运行它?
有人能指出在火花集群中设置SJS的步骤吗?
谢谢! 基兰
更新: 我创建了一个新的环境,在集群中的一个节点部署jobserver:这里是它的细节:
env1.sh:
DEPLOY_HOSTS="masked.mo.cpy.corp"
APP_USER=kiran
APP_GROUP=spark
INSTALL_DIR=/home/kiran/job-server
LOG_DIR=/var/log/job-server
PIDFILE=spark-jobserver.pid
JOBSERVER_MEMORY=1G
SPARK_VERSION=1.6.1
MAX_DIRECT_MEMORY=512M
SPARK_HOME=/home/spark/spark-1.6.1-bin-hadoop2.6
SPARK_CONF_DIR=$SPARK_HOME/conf
SCALA_VERSION=2.11.6
env1.conf
spark {
master = "local[1]"
webUrlPort = 8080
job-number-cpus = 2
jobserver {
port = 8090
bind-address = "0.0.0.0"
jar-store-rootdir = /tmp/jobserver/jars
context-per-jvm = false
jobdao = spark.jobserver.io.JobFileDAO
filedao {
rootdir = /tmp/spark-job-server/filedao/data
}
datadao {
rootdir = /tmp/spark-jobserver/upload
}
result-chunk-size = 1m
}
context-settings {
num-cpu-cores = 1
memory-per-node = 1G
}
home = "/home/spark/spark-1.6.1-bin-hadoop2.6"
}
感谢@ Daniel-de-Paula的详细步骤。但我发现,尽管如此,工作服务器并没有启动。我在上面的问题描述中包含了env1.sh和env1.conf。在启动server_start.sh时,我看不到任何事情发生。我可以看到为作业服务器启动了一个新的PID。但8090端口没有打开。因此,所有curl请求都无法通过服务器。任何想法缺少什么? – Kiran
@Kiran是否在目标计算机(即在'.sh'文件的第一行中配置的计算机)中启动server_start.sh?也许你可以通过查看'$ LOG_DIR/jobserver'来调试(默认为'/ var/log/jobserver') –
@ Daneil-de-Paula:是的,我在目标机器上启动它。这是我从一开始就做的:在本地系统中,sbt使用env1.conf和env1.sh构建了作业服务器。使用server_deploy.sh从本地系统部署到服务器。在目标系统中,启动了火花主控和一个从属实例。可以看到在8080端口上运行的群集。现在尝试启动作业服务器,希望端口8090将会打开。但是netstat -l -n不显示8090端口。但是我看到一个新的进程使用jobserver的新PID运行。 jobserver调试文件不指定是否出现问题。 – Kiran