如何使用sbt run启动spark应用程序。

时间:2017-05-03 12:08:41

标签: scala apache-spark deployment sbt apache-spark-standalone

我实际上想知道当我执行sbt run火花应用程序启动时这种情况发生的基本机制!

在独立模式下运行spark并使用spark-submit在其上部署应用程序之间有什么区别。

如果有人可以解释jar的提交方式以及由谁完成任务并在两种情况下分配任务,那就太棒了。 请帮我解决这个问题,或者指出一些我可以清除疑惑的内容!

1 个答案:

答案 0 :(得分:3)

首先,阅读this

熟悉术语,不同角色及其职责后,请阅读以下段落进行总结。

运行spark应用程序有不同的方法(spark应用程序只是一堆带入口点的类文件)。

您可以将spark应用程序作为单个java进程运行(通常用于开发目的)。运行sbt run时会发生这种情况。 在此模式下,驱动程序,工作程序等所有服务都在单个JVM中运行。

但是上述运行方式仅用于开发和测试目的,因为它不会扩展。这意味着您无法处理大量数据。这是运行spark应用程序的其他方式进入图片(Standalone,mesos,yarn等)。

现在阅读this

在这些模式中,将有专用的JVM用于不同的角色。驱动程序将作为单独的JVM运行,可能有10到1000个执行程序JVM在不同的机器上运行(Crazy right!)。

有趣的是,在单个JVM中运行的相同应用程序将被分发以在1000个JVM上运行。 Spark和底层集群框架对这些JVM的应用程序,生命周期以及容错等进行了分析。