apache-spark - 具有多个执行器的 Spark 独立配置

标签 apache-spark pyspark

我正在尝试设置一个独立的 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 个核心的独立版本。

enter image description here

最佳答案

我相信您混淆了本地模式和独立模式:

  • 本地模式是一种开发工具,其中所有进程都在单个 JVM 内执行。通过将 master 设置为 local,应用程序以本地模式启动。 , local[*]local[n]spark.executor.coresspark.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/

相关文章:

python - 如何提高 Spark 中的小数精度?

python - 使用Apache Spark实现python功能

python - Pyspark - 分组并收集多列列表并创建多列

python - 将整数列添加到 PySpark 数据框中的时间戳列

python - jdbc.SQLServerException : The "variant" data type is not supported

apache-spark - 为什么 SPARK 中没有默认启用 KryoSerializer?

java - Apache Spark - Parquet/Snappy 压缩错误

apache-spark - 使用 bucketBy 的 Spark 模式与 Hive 不兼容

apache-spark - Spark如何在cassandra表之间复制数据?

python - PySpark DataFrame - 动态加入多列