如何在Mesosphere的DC / OS上运行Spark Jobserver

时间:2016-06-08 20:30:19

标签: apache-spark mesosphere spark-jobserver dcos

我有很多我不明白Spark,Spark Jobserver和Mesosphere的DC / OS。但我非常喜欢Jobserver项目,也非常喜欢我们的DC / OS集群,并且非常希望让它们一起运行。

将Docker容器扔进马拉松文件like this example不起作用。我想也许这都是因为我不知道什么是SPARK_MASTER url传递(我仍然不知道,任何帮助都会非常感激),但后来我尝试从马拉松文件中删除它,它应该仍然运行本地模式下的项目,也不起作用。这让我意识到,除了不知道如何将这个jobserver连接到我的DCOS spark调度程序之外,我也只是不知道为什么这个Docker容器会在集群上失败,而不是在我的本地机器上失败,即使它没有通过任何参数。

我的日志显示不多,并且在stdout中以下后面的Docker容器退出状态为:

LOG_DIR empty; logging will go to /tmp/job-server

当我在本地运行时,它是继续将log4j运行到我的stdout之前的最后一个日志,并告诉我jobserver正在启动。我在stderr中看到以下内容:

app/server_start.sh: line 54:    15 Killed                  $SPARK_HOME/bin/spark-submit --class $MAIN --driver-memory $JOBSERVER_MEMORY --conf "spark.executor.extraJavaOptions=$LOGGING_OPTS" --driver-java-options "$GC_OPTS $JAVA_OPTS $LOGGING_OPTS $CONFIG_OVERRIDES" $@ $appdir/spark-job-server.jar $conffile

这似乎表明server_start.sh是从spark jobserver docker运行的,那个脚本出于某种原因死了?

我一直把我的马拉松文件剥离到这个,这仍然给我同样的错误:

{
  "id": "/jobserver",
  "cpus": 0.5,
  "mem": 100,
  "ports": [0],
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "velvia/spark-jobserver:0.6.2.mesos-0.28.1.spark-1.6.1"
    }
  }
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

以下在我尝试的时候为我工作了。

{
  "id": "/spark.jobserver",
  "cmd": null,
  "cpus": 2,
  "mem": 2048,
  "disk": 50,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "volumes": [],
    "docker": {
      "image": "velvia/spark-jobserver:0.6.2.mesos-0.28.1.spark-1.6.1",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 8090,
          "hostPort": 0,
          "servicePort": 10001,
          "protocol": "tcp",
          "labels": {}
        }
      ],
      "privileged": false,
      "parameters": [],
      "forcePullImage": false
    }
  },
  "env": {
    "SPARK_MASTER": "mesos://zk://10.29.83.3:2181,10.29.83.4:2181/mesos"
  },
  "portDefinitions": [
    {
      "port": 10001,
      "protocol": "tcp",
      "labels": {}
    }
  ]
}