我正在尝试设置Spark JobServer(SJS)以在独立Spark群集上执行作业。我正在尝试在SPARK集群的一个非主节点上部署SJS。我没有使用泊坞窗,而是尝试手动操作。
我对SJS github中的帮助文档感到困惑,特别是https://plnkr.co/edit/dRjuBCR7buHYkIPAYDkX?p=preview部分。我是否需要编辑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"
}
答案 0 :(得分:1)
为什么不设置JOBSERVER_FG = 1并尝试运行server_start.sh,这会在前台运行该进程并将错误显示给stderr。
答案 1 :(得分:0)
是的,您已经编辑了两个文件,以适应您的群集。
部署步骤如下所述:
- 将
醇>config/local.sh.template
复制到<environment>.sh
并根据需要进行修改。
此文件主要用于部署脚本和server_start.sh
脚本使用的环境变量。最重要的是:部署主机(它是运行作业服务器的ip或主机名),用户和执行组,JobServer内存(它将是驱动程序内存),spark版本和spark home。
- 将
时需要 醇>config/shiro.ini.template
复制到shiro.ini
并根据需要进行修改。注意:仅在authentication = on
如果您要使用shiro身份验证,则需要执行此步骤。
- 将
醇>config/local.conf.template
复制到<environment>.conf
并根据需要进行修改。
这是JobServer的主要配置文件以及JobServer将创建的上下文。您可以在this link上看到您可以在此文件中设置的完整属性列表。
- 醇>
bin/server_deploy.sh <environment>
编辑配置文件后,您可以使用此脚本进行部署。该参数必须是您为.conf
和.sh
文件选择的名称。
运行脚本后,JobServer将连接到.sh
文件中输入的主机,并将创建一个包含一些控制文件的新目录。然后,每次需要更改配置条目时,都可以直接在远程计算机上执行:.conf
文件将包含您选择的名称,.sh
文件将重命名为{ {1}}。
请注意,如果您尚未在运行此脚本的计算机与远程计算机之间配置基于SSH密钥的连接,则在执行期间将提示您输入密码。
如果您在远程计算机上创建目录时遇到问题,可以尝试使用settings.sh
自行创建目录(它们必须与mkdir
文件的INSTALL_DIR
配置条目匹配)并更改其所有者用户和组以匹配在.sh
配置文件中输入的用户和组。
- 在远程服务器上,使用
将其停止 醇>.sh
在已部署的目录中启动它,并使用server_start.sh
这是非常有用的信息。完成所有其他步骤后,您可以通过运行脚本server_stop.sh
在远程计算机上启动JobServer服务,然后使用server_start.sh