当前位置: 首页 > 知识库问答 >
问题:

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

郎河
2023-03-14

我试图设置一个独立的Spark2.0服务器来并行处理分析功能。为此,我希望有一个带有多个执行者的工作人员。

我在使用:

  • 独立Spark 2.0
  • 8核
  • 24gig ram
  • Windows server 2008
  • pyspark(尽管这看起来不相关)
spark.cores.max = 8
spark.executor.cores = 1

共有1个答案

宰父霖
2023-03-14

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

>

  • 本地模式是一种开发工具,其中所有进程都在单个JVM中执行。通过将master设置为locallocal[*]local[n],应用程序将在本地模式下启动。spark.executor.coresspark.executor.cores在本地模式中不适用,因为只有一个嵌入式执行器。
  • 独立模式需要独立的Spark集群。它需要一个主节点(可以使用spark_home/sbin/start-master.sh脚本启动)和至少一个工作节点(可以使用spark_home/sbin/start-slave.sh脚本启动)。

    sparkconf应该使用主节点地址来创建(spark://host:port)。

  •  类似资料:
    • 问题内容: 到目前为止,我仅在Linux机器和VM(桥接网络)上运行Spark,但现在我对将更多计算机用作从属设备很感兴趣。在计算机上分发Spark Slave Docker容器并使它们自动连接到硬编码的Spark master IP会很方便。这种不足已经可以解决,但是我在从属容器上配置正确的SPARK_LOCAL_IP(或start-slave.sh的– host参数)时遇到了麻烦。 我认为我已

    • 安装Spark独立模式集群 安装Spark独立模式,你只需要将Spark的编译版本简单的放到集群的每个节点。你可以获得每个稳定版本的预编译版本,也可以自己编译。 手动启动集群 你能够通过下面的方式启动独立的master服务器。 ./sbin/start-master.sh 一旦启动,master将会为自己打印出spark://HOST:PORT URL,你能够用它连接到workers或者作为"m

    • 我有一个模式,其中每行包含多个数组列,我想独立于每个数组列爆炸。 假设我们有列: 我想要一个输出: 想法? (哦,我正在尝试这样做,所以我不必随着模式的变化而更新代码,也因为实际的模式有点大…) PS -支持这个非常相似但不同的问题,我无耻地从这个问题中窃取了示例数据。 编辑:@oliik赢了,但是,如果能用<code>df来实现这一点,那也太棒了。flatMap(主要是因为我仍然不去摸索<cod

    • 我有一个Spark 2.1.1作业,正在Mesos集群中运行。Spark UI显示32个活动执行器和RDD。getNumPartitions显示28个分区。但只有一个(随机)执行者在做任何工作,所有其他执行者都标记为已完成。我向执行器代码(stdout)添加了调试语句,只有一个执行器显示这些语句。整个管道的结构如下:获取ID列表- 这些是Spark二进制文件的配置设置:--drive-内存32g-

    • 我们有独立的Spring Boot应用程序,它触发一些基于触发器的石英作业。它是独立的jar文件,不涉及应用服务器。

    • 从本文来看,默认情况下,工作节点使用该节点的所有内存(减去1 GB)。但是我明白,通过使用,我们可以使用更少的内存。例如,如果节点的总内存为32 GB,但我指定为16 GB,那么Spark worker在该节点上使用的内存不会超过16 GB? 但是执行人呢?假设我希望每个节点运行2个执行器,那么可以通过在期间将执行器内存指定为的一半来实现吗?如果我希望每个节点运行4个执行器,可以通过将执行器内存指