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

问题描述 投票:2回答:3

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

scala apache-spark spark-streaming
3个回答
2
投票

根据定义,本地模式是在单JVM中运行的“伪集群”。这意味着执行者的最大数量为1。

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


4
投票

本地模式是一种开发工具,所有组件都在一台机器中进行模拟。由于单个JVM意味着单个执行程序更改执行程序的数量是不可能的,并且spark.executor.instances不适用。

你在local模式中所能做的就是通过修改主URL来增加线程数 - local[n]其中n是线程数。


2
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.