如何在本地模式下更改执行程序的数量?

时间:2018-09-05 15:36:36

标签: scala apache-spark spark-streaming

是否可以使用某些Spark Conf设置在本地模式下为Spark Streaming应用程序设置多个执行程序? 目前,例如,当我将 spark.executor.instances 参数更改为4时,我看不到Spark UI在性能方面的任何变化或执行程序数量的增加。

3 个答案:

答案 0 :(得分:4)

本地模式是一种开发工具,其中所有组件都在一台机器上进行仿真。由于单个JVM意味着完全不可能更改单个执行者,因此spark.executor.instances不适用。

local模式下,您只能通过修改主URL-local[n](其中n是线程数)来增加线程数。

答案 1 :(得分:2)

根据定义,

本地模式是“ pseudo-cluster”,它在Single JVM中运行。这意味着执行程序的最大数量为1。

如果要在本地计算机上试验多个执行器,您可以做的是在本地计算机上创建带有几个工作程序的集群。正在运行的实例数是您任务的最大执行者数。

答案 2 :(得分:2)

在本地模式下不接受“ spark.executor.instances”。

参考-https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-local.html

Local-Mode:在这种非分布式单JVM部署模式下,Spark在同一单个JVM中产生所有执行组件-驱动程序,执行程序,LocalSchedulerBackend和master。默认的并行度是主URL中指定的线程数。这是唯一使用驱动程序执行的模式。

因此,您可以通过将主URL作为本地[n]传递,从而将JVM中的线程数增加到n。