Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何在中层运行Spark Jobserver';s DC/OS_Apache Spark_Mesosphere_Spark Jobserver_Dcos - Fatal编程技术网

Apache spark 如何在中层运行Spark Jobserver';s DC/OS

Apache spark 如何在中层运行Spark Jobserver';s DC/OS,apache-spark,mesosphere,spark-jobserver,dcos,Apache Spark,Mesosphere,Spark Jobserver,Dcos,对于Spark、Spark Jobserver和Mesosphere的DC/OS,我显然有很多不了解的地方。但是我非常喜欢Jobserver项目,也非常喜欢我们的DC/OS集群,并且非常希望它们一起运行 将Docker容器放入marathon文件中不起作用。我想这可能是因为我不知道要传递什么SPARK_MASTER url(我仍然不知道,任何帮助都将不胜感激),但随后我尝试从marathon文件中删除该文件,该文件仍应以本地模式运行项目,但这也不起作用。这让我意识到,除了不知道如何将这个jobs

对于Spark、Spark Jobserver和Mesosphere的DC/OS,我显然有很多不了解的地方。但是我非常喜欢Jobserver项目,也非常喜欢我们的DC/OS集群,并且非常希望它们一起运行

将Docker容器放入marathon文件中不起作用。我想这可能是因为我不知道要传递什么SPARK_MASTER url(我仍然不知道,任何帮助都将不胜感激),但随后我尝试从marathon文件中删除该文件,该文件仍应以本地模式运行项目,但这也不起作用。这让我意识到,除了不知道如何将这个jobserver连接到我的DCOS spark dispatcher之外,我也不知道为什么这个Docker容器会在集群上失败,但在我的本地机器上不会,即使它没有传递任何参数

我的日志显示不多,Docker容器在stdout中执行以下操作后以137的状态退出:

LOG_DIR empty; logging will go to /tmp/job-server
当我在本地运行时,这是它继续在我的stdout中运行log4j并告诉我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"
    }
  }
}

任何帮助都将不胜感激

在我尝试时,以下内容对我很有用

{
  "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": {}
    }
  ]
}

好的,这里对我有用的实际上只是使用了比Jobserver文档中docker.md中建议的更高的CPU/内存。但事实证明,SPARK_大师根本不适合我。我还是找不到一个有效的。我应该能够通过marathon连接到Spark应用程序运行的Spark Mesos Dispatcher,不是吗?它似乎不起作用。