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

有了mesos,我在spark-submit中每个节点只能启动一个执行器,这是真的吗?

卫嘉泽
2023-03-14

我已经玩了一个星期的spark-submit设置,我能够在我的集群上获得的最大执行程序数是5个(1个用于驱动程序,4个用于实际工作)。这是基于Spark UI中的Executors选项卡。

我见过这个StackOverflow问题:了解mesos上spark作业的资源分配,上面说:

在粗粒度模式下,Spark每个主机只启动一个执行器

如果这一切都不是真的,我可以有更多的执行者。

问题是有一些mesos设置限制执行者的数量吗?

共有1个答案

咸利
2023-03-14

(再也不是了)。SPARK-5095支持在粗粒度的mesos模式下启动多个mesos执行程序,已经在Spark2.0中得到解决,并且根据合并的PR:

这个PR实现了两个高级特性。这两个特性是相互依赖的,因此在这里都实现了它们:

  • mesos对spark.executor.cores的支持
  • 每个从机多个执行程序
 类似资料:
  • 我对在Mesos上测试Spark运行感兴趣。我在Virtualbox中创建了一个Hadoop2.6.0单节点集群,并在其上安装了Spark。我可以使用Spark成功地处理HDFS中的文件。

  • 我们有一个项目,其中我们有几个Jenkins作业:一种类型的作业运行交付(a), 一个只进行编译和单元测试的程序(B) 和 运行集成测试、静态代码分析等(C)的人。 我们在四个 Jenkins 节点(主节点三个从节点)上运行,我们的作业是声明性管道作业的混合,并在 Jenkins 作业中手动单击。 我们一次只想为每个节点运行一个集成测试构建。然而,我们希望运行尽可能多的交付(A)和代码质量(B)构

  • 目前,Jenkins 上有多个管道(A、B、C)和节点(X、Y、Z)。我们启用了 Throttle Concurrent Builds 插件,以确保管道中只有一个构建在单个节点上运行。 问题是,使用这种方法,来自不同管道的构建可能会发生冲突(例如,管道A可能已经在节点X上执行,我们不希望任何其他管道在节点X上执行,直到管道A完成)。TCB插件确保来自单个管道的多个构建不会在一个节点上运行,但它不会

  • 我试图将Spark应用程序部署到4节点DSE Spark集群中,我已经创建了一个包含所有依赖jar的fat jar,并在src/main/resources下创建了一个属性文件,该文件具有批处理间隔、主URL等属性。 我使用的是DSE 4.8.5和Spark 1.4.2 这就是我加载属性的方式

  • 我有一个spark作业,它从数据库中读取数据,执行过滤、联合、2连接,最后将结果写回数据库。 然而,最后一个阶段仅在50个执行器中的一个执行器上运行一个任务。我试图增加分区的数量,使用哈希分区,但没有成功。 经过几个小时的谷歌搜索,似乎我的数据可能会但我不知道如何解决它。 有什么建议吗? 规格: < li >独立群集 < li>120核心 < li>400G内存 遗嘱 执行 人: 30个执行器(4

  • 每当我尝试执行“gcloud app deploy”时,我都会得到以下结果。我只是不知道为什么。 C:\Users\charl\Desktop\Apps\webTest\webTest