【发布时间】: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