我使用本地模式和mesos集群模式提交相同的jar来运行。发现对于一些完全相同的阶段,本地模式只需要几毫秒就可以完成,而集群模式需要几秒钟!
下面是一个例子:阶段659
本地模式:来自kafkahelper的[output operation 1,batch time 17:45:50]Map的659流作业。scala:35 +details 2016/03/22 17:46:31 11毫秒
mesos群集模式:来自kafkahelper的[output operation 1,batch time 18:01:20]Map的659流作业。scala:35 +details 2016/03/22 18:09:33 3秒
我从spark ui上发现mesos集群模式总是需要4秒才能完成foreachrdd任务,这是为什么呢?任何提交命令选项都有帮助吗?
先谢谢你!
1条答案
按热度按时间3gtaxfhh1#
这种行为取决于多种因素。您不需要指定在哪种集群模式下运行哪种作业,以及使用哪种设置。如果spark没有安装在从属服务器上,您将看到开销,因为分发需要下载等等。
此外,您正在使用的jar需要分发给执行者,这也可能需要一些启动时间。
如前所述,这一切都取决于你如何运行在Mesos星火。
看见
http://spark.apache.org/docs/latest/running-on-mesos.html