Spark mesos 集群模式比本地模式慢

Spark mesos cluster mode is slower than local mode

我使用本地模式和 mesos 集群模式将同一个 jar 提交到 运行。并且发现对于一些完全相同的阶段,本地模式只需要几毫秒就可以完成,而集群模式则需要几秒!

列出的是一个示例:阶段 659

本地模式: 659 来自 [输出操作 1,批处理时间 17:45:50] 的流式作业 地图 KafkaHelper.scala:35 +详情 2016/03/22 17:46:31 11 毫秒

mesos集群模式: 659 来自[输出操作 1,批处理时间 18:01:20] 的流作业 地图 KafkaHelper.scala:35 +详情 2016/03/22 18:09:33 3 秒

而且我从 spark UI 中发现,mesos 集群模式将持续花费 4 秒来完成 foreachRDD 作业,这是为什么?任何提交命令选项对此都有帮助吗?

提前致谢!

该行为取决于多种因素。您没有指定您 运行 在哪种集群模式下使用哪种作业以及使用哪些设置。如果 Spark 没有安装在 Slaves 上,你会看到开销,因为需要下载分发等等。

此外,您正在使用的 jar 需要分发给执行程序,这也可能需要一些时间来启动。

如前所述,这完全取决于 你如何 运行 Spark on Mesos。