我正在尝试设置一个独立的 Spark 2.0 服务器来并行处理分析功能。为此,我希望有一个具有多个执行器的工作人员。
我正在使用:
- 独立 Spark 2.0
- 8 核
- 24g RAM
- Windows Server 2008
- pyspark(尽管这看起来无关)
这只是为了纯粹的概念验证目的,但我想要有 8 个执行器,每个核心一个。
我尝试关注有关此主题的其他线程,但由于某种原因它对我不起作用。 IE: Spark Standalone Number Executors/Cores Control
我的配置如下:
conf\spark-defaults.conf
spark.cores.max = 8
spark.executor.cores = 1
我也尝试更改我的spark-env.sh 文件,但无济于事。相反,发生的情况是,它显示我的 1 个工作人员只有 1 个执行者。正如您在下面看到的,它仍然显示带有 1 个执行器和 8 个核心的独立版本。
最佳答案
我相信您混淆了本地模式和独立模式:
- 本地模式是一种开发工具,其中所有进程都在单个 JVM 内执行。通过将 master 设置为
local
,应用程序以本地模式启动。 ,local[*]
或local[n]
。spark.executor.cores
和spark.executor.cores
不适用于本地模式,因为只有一个嵌入式执行器。 独立模式需要独立 Spark cluster 。它需要一个主节点(可以使用
SPARK_HOME/sbin/start-master.sh
脚本启动)和至少一个工作节点(可以使用SPARK_HOME/sbin/start-slave.sh
脚本启动)。SparkConf
应使用主节点地址来创建(spark://host:port
)。
关于apache-spark - 具有多个执行器的 Spark 独立配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53351431/