如何在Spark Independent模式下增加执行程序的数量,如果spark.executor.instances和spark.cores.max不起作用



我到处找,但找不到我需要的答案。我在独立模式下运行Spark 1.5.2,Spark_WORKER_INSTANCE=1,因为我只希望每个主机每个工作者有一个执行器。我想增加我工作的主持人数量,从而增加执行人员的数量。我已经尝试在spark-defaults.conf中更改spark.execution.instances和spark.cores.max,但仍然看到相同数量的执行器。人们建议更改--num个executors,这与spark.executor.instances不一样吗?

这篇Cloudera博客文章http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/表示"--num executors命令行标志或spark.executor.instances配置属性控制请求的执行器数量。从CDH 5.4/spark 1.3开始,您可以通过使用spark.dynamicAllocation.enabled属性打开动态分配来避免设置此属性。"但我不确定spark.dynamicAllocation.enabled是否只适用于YARN.

任何关于如何为Spark 1.5.2做到这一点的建议都将不胜感激!

我认为您不需要设置SPARK_WORKER_INSTANCES!如果你想使用它,你需要设置SPARK_WORKER_CORES环境变量,否则,你将导致一个工人消耗所有的核心。因此,其他工人无法正确启动!

我还没有看到spark.executor.instances在带有Spark 的YARN配置之外使用

也就是说,我肯定会建议使用--num-executors,让您的集群有多个工作者!

最新更新