当前位置: 首页 > 面试题库 >

如何设置Spark执行器的数量?

简滨海
2023-03-14
问题内容

如何从Java(或Scala)代码中配置具有SparkConfig和的执行器数量SparkContext?我经常看到2个执行者。看起来像是spark.default.parallelism行不通的,并且是与众不同的。

我只需要将执行程序的数量设置为等于集群大小,但是总是只有2个。我知道我的集群大小。如果这很重要,我会在YARN上运行。


问题答案:

好的,我知道了。执行程序的数量实际上不是Spark属性本身,而是用于在YARN上放置作业的驱动程序。因此,当我使用SparkSubmit类作为驱动程序时,它具有适当的--num- executors参数,正是我所需要的。

更新:

对于某些工作,我不再遵循SparkSubmit方法。我主要不能针对Spark作业只是应用程序组件之一(甚至是可选组件)的应用程序执行此操作。对于这些情况,我使用spark- defaults.conf附加到群集中的群集配置spark.executor.instances属性。这种方法更为通用,可让我根据群集(开发人员工作站,登台,生产)适当地平衡资源。



 类似资料:
  • 我已经将spark.executor.memory设置为2048M,在UI“环境”页面中,我可以看到这个值已经设置正确。但是在“executors”页面中,我看到只有一个executor,它的内存是265.4MB。非常奇怪的价值。为什么不是256MB,或者就像我设定的那样?

  • 我有一个Apache Spark应用程序在集群模式下在YARN集群上运行(Spark在此集群上有3个节点)。 当应用程序运行时,Spark UI显示2个执行器(每个执行器在不同的节点上运行)和驱动程序在第三个节点上运行。我希望应用程序使用更多的执行器,所以我尝试添加参数--num executors to Spark submit并将其设置为6。

  • spark如何选择节点来运行执行器?(spark on yarn)我们使用spark on yarn模式,集群有120个节点。昨天,一个spark作业创建了200个执行器,而node1上有11个执行器,node2上有10个执行器,其他执行器平均分布在其他节点上。 spark如何选择要运行执行器的节点?据yarn ResourceManager报道?

  • 我在纱线簇(HDP 2.4)中使用Spark,设置如下: 1主节点 64 GB RAM(48 GB可用) 12核(8核可用) 每个64 GB RAM(48 GB可用) 每个12核(8核可用) null

  • 首先我在使用 keycloak-authz-client-3.3.0.final Spring boot 1.5.8.发布 spring-boot-starter-security 我一直在玩Keycloak spring adapter,探索示例,因为我们想在我们的项目中采用它。 我可以使用以下教程轻松地让它在角色中运行:https://dzone.com/articles/elyly-secu

  • 根据我的研究,每当我们运行spark作业时,我们不应该运行超过5个核的执行器,如果我们增加超过限制的核,作业将会因为糟糕的I/O吞吐量而受损。 我的疑问是,如果我们增加了执行器的数量,减少了内核,即使这些执行器最终会出现在同一个物理机器中,这些执行器会从同一个磁盘读取和写入同一个磁盘,为什么这不会引起I/O吞吐量问题。 我可以考虑Apache Spark:内核数量与执行程序数量的关系 用例以供参考