Cas*_*sie 7 scala apache-spark spark-streaming
是否可以使用一些 Spark Conf 设置在本地模式下为 Spark Streaming 应用程序设置多个执行程序?目前,例如,当我将spark.executor.instances参数更改为 4时,我看不到 Spark UI 在性能或执行程序数量增加方面的任何变化。
小智 9
本地模式是一种开发工具,所有组件都在一台机器上进行模拟。由于单个 JVM 意味着单个执行器改变执行器的数量是不可能的,spark.executor.instances也不适用。
您在localmode 中所能做的就是通过修改主 URL 来增加线程数 -local[n]其中n是线程数。
本地模式根据定义是在单一 JVM 中运行的“伪集群”。这意味着执行者的最大数量为 1。
如果您想在本地计算机上试验多个执行程序,您可以做的是创建在本地计算机上运行的几个工作线程的集群。正在运行的实例数是任务执行器的最大数量。
spark.executor.instances在本地模式下不被尊重。
参考 - https://books.japila.pl/apache-spark-internals/local/?h=local
本地模式:在这种非分布式单 JVM 部署模式中,Spark 在同一个 JVM 中生成所有执行组件 - 驱动程序、执行器、LocalSchedulerBackend 和 master。默认并行度是主 URL 中指定的线程数。这是使用驱动程序执行的唯一模式。
因此,您可以通过将 master url 作为 传递,将 JVM 中的线程数增加到 n local[n]。