0

我正在尝试设置 Spark JobServer (SJS) 以在独立 Spark 集群上执行作业。我正在尝试在 SPARK 集群的非主节点之一上部署 SJS。我没有使用 docker,而是尝试手动操作。

我对 SJS github 中的帮助文档特别是部署部分感到困惑。我是否需要同时编辑 local.conf 和 local.sh 才能运行它?

有人可以指出在火花集群中设置 SJS 的步骤吗?

谢谢!基兰

更新: 我创建了一个新环境来在集群的一个节点中部署作业服务器:以下是它的详细信息:

环境1.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"
}
4

2 回答 2

1

为什么不设置 JOBSERVER_FG=1 并尝试运行 server_start.sh,这将在前台运行进程并应将错误显示到 stderr。

于 2016-06-09T03:25:26.760 回答
0

是的,您已经编辑了这两个文件以适应您的集群。

部署步骤解释如下:


  1. 复制config/local.sh.template<environment>.sh并根据需要进行编辑。

该文件主要用于部署脚本和脚本使用的环境变量server_start.sh。最重要的是:部署主机(它将运行作业服务器的 ip 或主机名)、用户和执行组、作业服务器内存(它将是驱动程序内存)、火花版本和火花主页。


  1. 复制config/shiro.ini.templateshiro.ini并根据需要进行编辑。注意:仅当 authentication = on 时才需要

如果要使用 shiro 身份验证,则需要此步骤。


  1. 复制config/local.conf.template<environment>.conf并根据需要进行编辑。

这是 JobServer 和 JobServer 将创建的上下文的主要配置文件。您可以在此文件中设置的属性的完整列表可以在此链接上查看。


  1. bin/server_deploy.sh <environment>

编辑配置文件后,您可以使用此脚本进行部署。该参数必须是您为文件选择的.conf名称.sh

运行脚本后,JobServer 将连接到.sh文件中输入的主机,并将创建一个包含一些控制文件的新目录。然后,每次您需要更改配置条目时,您都可以直接在远程机器上进行:该.conf文件将以您选择的名称存在,并且该.sh文件将被重命名为settings.sh.

请注意,如果您没有在运行此脚本的机器和远程机器之间配置基于 SSH 密钥的连接,则在执行过程中将提示您输入密码。

如果您在远程计算机上创建目录时遇到问题,您可以尝试自己创建它们mkdir(它们必须与文件的INSTALL_DIR配置条目匹配.sh)并更改其所有者用户和组以匹配在.sh配置文件中输入的用户。


  1. 在远程服务器上,在已部署的目录中启动它server_start.sh并停止它server_stop.sh

这是非常有用的。完成所有其他步骤后,您可以通过运行脚本在远程计算机上启动 JobServer 服务,server_start.sh您可以使用以下命令停止它server_stop.sh


于 2016-05-12T20:28:32.063 回答