【问题标题】:Running spark-submit application with Marathon使用 Marathon 运行 spark-submit 应用程序
【发布时间】:2016-09-20 02:54:20
【问题描述】:

我有 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-slaves 上启动,任务状态为“已完成”,但 spark-app 很快死亡,说“执行程序要求关闭”。我不明白为什么 spark 应用程序没有运行。有人可以帮我理解为什么 marathon 无法在 Mesos 上启动 spark-app 吗?

应用程序的马拉松配置:

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

【问题讨论】:

    标签: apache-spark mesos marathon


    【解决方案1】:

    我可能弄错了,但我的理解是,此处的 spark 提交任务仅通知 spark 执行作业,我在这里看到的 spark 输出或多或少表示“spark 接受了作业”,然后您的命令按预期退出. Marathon 将继续执行此操作,因为它旨在使长时间运行的应用程序保持活力。您可能想调查 Metronome/DCOS Jobs 或 Chronos 的类似情况(或者直接将 spark 作业提交到集群,因为这不是 marathon 的意图)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2019-05-22
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      相关资源
      最近更新 更多