running spark提交马拉松申请

gv8xihay  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(327)

我有spark应用程序,用spark submit运行它,比如:

/opt/spark/bin/spark-submit \
--master mesos://dispatcher_ip:7077 \
--driver-memory xG \
--executor-memory xG \
--total-executor-cores x \
--deploy-mode cluster \
-- and jar files.

当我从远程ip或直接在mesos从属服务器上运行这个spark应用程序时,它可以正常工作,即我可以看到框架/驱动程序在mesos主服务器上运行,并且日志还显示任务正在运行。我想用marathon运行相同的程序,但是当我用marathon运行时,应用程序在mesos从属程序上启动,任务状态为“finished”,但是spark应用程序很快就死了,说“executor asked to shutdown”。我不明白为什么spark应用程序没有运行。有人能帮我理解为什么马拉松不能在mesos上启动spark应用程序吗?
应用程序配置:

{
  "id": "/zzzzzzzzz333",
  "cmd": "sh path_to/spark_app.sh",
  "cpus": 2,
  "mem": 2048,
  "disk": 0,
  "instances": 1,
  "constraints": [
    [
      "hostname",
      "CLUSTER",
      "mesos_slave_ip"
    ]
  ],
  "portDefinitions": [
    {
      "port": 10000,
      "protocol": "tcp",
      "labels": {}
    }
  ]
}

从marathon部署应用程序并检查mesos上的任务状态时:任务状态为“已完成”,输出为:

{
  "action" : "CreateSubmissionResponse",
  "serverSparkVersion" : "1.6.1",
  "submissionId" : "driver-20160917213046-0142",
  "success" : true
}

驱动程序应用程序的mesos框架输出:

I0917 22:20:10.152683 13370 exec.cpp:143] Version: 0.28.2
I0917 22:20:10.162206 13378 exec.cpp:390] Executor asked to shutdown
b91juud3

b91juud31#

我可能弄错了,但我的理解是,这里的spark submit任务只通知spark执行作业,我在这里看到的spark输出或多或少地表示“spark接受了作业”,然后您的命令按预期退出。marathon将持续执行此操作,因为它旨在使长时间运行的应用程序保持活力。您可能需要调查metronome/dcos作业或chronos之类的内容(或者直接将spark作业提交到集群,因为这并不是marathon想要做的事情)。

相关问题