StandAlone集群中的Spark Job-Server配置

时间:2016-05-12 18:17:37

标签: apache-spark configuration spark-jobserver

我正在尝试设置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"
}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

部署步骤如下所述:

  
      
  1. config/local.sh.template复制到<environment>.sh并根据需要进行修改。
  2.   

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

  
      
  1. config/shiro.ini.template复制到shiro.ini并根据需要进行修改。注意:仅在authentication = on
  2. 时需要   

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

  
      
  1. config/local.conf.template复制到<environment>.conf并根据需要进行修改。
  2.   

这是JobServer的主要配置文件以及JobServer将创建的上下文。您可以在this link上看到您可以在此文件中设置的完整属性列表。

  
      
  1. bin/server_deploy.sh <environment>
  2.   

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

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

请注意,如果您尚未在运行此脚本的计算机与远程计算机之间配置基于SSH密钥的连接,则在执行期间将提示您输入密码。

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

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

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

停止它