1

Spark、Spark Jobserver、および Mesosphere の DC/OS について、明らかに理解できないことがたくさんあります。しかし、私は Jobserver プロジェクトがとても好きで、DC/OS クラスターもとても好きで、一緒に動かしたいと思っています。

この例のように、Docker コンテナーを marathon ファイルにスローしても機能しません。これはすべて、渡す SPARK_MASTER の URL がわからないためだと思いました (まだわかりませんが、そこにある助けをいただければ幸いです)。しかし、マラソン ファイルからそれを削除しようとしましたが、それでも実行されるはずです。ローカルモードでプロジェクトを実行し、それも機能しません。これにより、このジョブサーバーを DCOS Spark ディスパッチャーに接続する方法がわからないだけでなく、この Docker コンテナーがクラスターでは失敗するのに、ローカル マシンでは失敗する理由がわかりません。引数。

私のログはあまり表示されず、Docker コンテナは stdout で次のように 137 のステータスで終了します。

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"
    }
  }
}

どんな助けでも大歓迎です。

4

1 に答える 1

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": {}
    }
  ]
}
于 2016-06-09T03:14:37.940 に答える