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

如何在纱线模式下通过内存设置执行者编号?

易阳朔
2023-03-14

共有1个答案

鲁品
2023-03-14

在Yarn模式下,您需要按num-executors设置执行者的数量,并按Executor-Memory设置执行者内存。这里有一个例子:

spark-submit --master yarn-cluster --executor-memory 6G --num-executors 31 --executor-cores 32 example.jar Example

现在,每个执行器从yarn请求一个容器,该容器具有6G+内存开销和1个内核。

有关spark文档的更多信息

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

  • 我正在4节点群集上运行Spark over纱线。节点中每台机器的配置为128GB内存,每个节点24核CPU。我使用此命令运行Spark on 但Spark最多只能启动16个执行者。我将纱线中的最大vcore分配设置为80(在我拥有的94芯中)。因此,我的印象是,这将启动19名执行人,但最多只能启动16名执行人。此外,我认为即使这些执行者也没有完全使用分配的vCore。 这些是我的问题 spark为

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

  • 问题内容: 我按以下顺序设置了线程的优先级 先是A然后是B,然后是C。但是当我在下面的程序中运行时,有时B在A之前运行。我不理解这种执行方式,因为我将B的优先级设置为小于A的优先级。 } 问题答案: 线程优先级可能不是您认为的那样。 线程的优先级是对操作系统的建议,在涉及这两个线程的任何调度或CPU分配决策点中,一个线程优先于另一个线程。但是,如何实现这一点取决于操作系统和JVM的实现。 Java

  • 我正在使用Sparklyr在一个拥有244GB RAM的虚拟机上以本地模式运行一个Spark应用程序。在我的代码中,我使用从一个文件夹读取大约50MB的CSV,然后从另一个文件夹读取大约1.5GB的CSV。我的问题是应用程序在尝试读取第二个文件夹时抛出错误。 根据我的理解,问题是驱动程序JVM可用的默认RAM是512MB--对于第二个文件夹来说太小了(在本地模式下,所有操作都在驱动程序JVM中运行

  • 我正在纱线客户端模式下运行火花作业。我在unix脚本中使用Spark提交命令运行这些作业。我想为正在运行的每个火花作业创建日志。我尝试使用以下命令获取日志: 但在这里,如果spark作业失败,它将不会在命令状态检查中被捕获,可能是unix检查|$tee命令的状态,无论spark作业成功还是失败,该命令始终是成功的 我尝试使用log4j但没有成功。我想将每个火花作业日志文件存储在本地unix服务器上