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

Apache Hadoop纱线-芯线利用不足

潘哲
2023-03-14

无论我如何修改yarn-site.xml中的设置,即使用以下所有选项

yarn.scheduler.minimum-allocation-vcores
yarn.nodemanager.resource.memory-mb
yarn.nodemanager.resource.cpu-vcores
yarn.scheduler.maximum-allocation-mb
yarn.scheduler.maximum-allocation-vcores

我只是仍然无法让我的应用程序即Spark利用集群上的所有内核。火花执行器似乎正确地占用了所有可用内存,但每个执行器只保留一个内核,仅此而已。

以下是spark defaults中配置的选项。形态

spark.executor.cores                    3
spark.executor.memory                   5100m
spark.yarn.executor.memoryOverhead      800
spark.driver.memory                     2g
spark.yarn.driver.memoryOverhead        400
spark.executor.instances                28
spark.reducer.maxMbInFlight             120
spark.shuffle.file.buffer.kb            200

请注意,spark。执行人。cores设置为3,但不起作用。如何修复此问题?


共有2个答案

淳于健
2023-03-14
匿名用户

我也有类似的问题,从我的代码中我设置了spark。执行人。芯线为5。尽管它只是取1,这是默认的核心。在spark UI和环境选项卡中,我看到了5个内核。但在检查executors选项卡时,我只能看到1个进程处于运行状态,与一个executor相对。我使用的是spark版本1.6.3。

因此,我尝试使用spark submit命令作为conf spark。执行人。cores=5这与使用5个cores一样工作正常

或者只是

-执行器-核心5这也有效。

邢浩邈
2023-03-14

问题不在于纱线位置。xml或spark默认值。conf,但实际上是使用资源计算器,将核心分配给执行器,或者在MapReduce作业的情况下,分配给映射器/还原器。

默认资源计算器,即组织。阿帕奇。hadoop。纱线util。资源DefaultResourceCalculator仅使用内存信息来分配容器,默认情况下不启用CPU调度。要同时使用内存和CPU,需要将资源计算器更改为org。阿帕奇。hadoop。纱线util。资源容量调度器中的DominantResourceCalculator。xml文件。

以下是需要改变的地方。

<property>
    <name>yarn.scheduler.capacity.resource-calculator</name>
    <value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>
 类似资料:
  • 我有几个关于向HDFS提交作业和Hadoop中的YARN架构的问题: 所以我的问题是在HDFS中纱线的组成部分是如何协同工作的:? 因此,YARN由NodeManager和Resource Manager组成。在这两个组件中:NodeManager是否运行在每个DataNode上,而ResourceManager是否运行在每个集群的每个NameNode上?因此,当任务跟踪器(在每个DataNode

  • 我正在使用spark submit执行以下命令: spark submit script\u测试。py—主纱线—部署模式群集spark submit script\u测试。py—主纱线簇—部署模式簇 这工作做得很好。我可以在Spark History Server UI下看到它。但是,我无法在RessourceManager UI(纱线)下看到它。 我感觉我的作业没有发送到集群,但它只在一个节点上

  • 我想创建一个test React应用程序,但我在安装时遇到了困难:我使用npm安装了Thread,因为Thread msi没有启动,所以: 我读了这个错误消息: 纱线产生v0。15.1错误:找不到包。C:\Users***\React中的json(或bower.json)文件位于C:\Users***\AppData\Roaming\npm\node\u modules\yarnpkg\lib\c

  • 我在AWS EMR Spark上运行一个应用程序。这里,是spark提交作业- AWS使用纱线进行资源管理。我正在查看指标(下面的屏幕截图),对纱线“容器”指标有疑问。 这里,分配的容器显示为2。但是,我使用了4个节点(3个从1个主节点),所有8个内核CPU。那么,只有2个容器是如何分配的呢?

  • 首先,我想说的是我看到的解决这个问题的唯一方法是:Spark 1.6.1 SASL。但是,在为spark和yarn认证添加配置时,仍然不起作用。下面是我在Amazon's EMR的一个yarn集群上使用spark-submit对spark的配置: 注意,我用代码将spark.authenticate添加到了sparkContext的hadoop配置中,而不是core-site.xml(我假设我可以

  • 我正面临一个问题,当提交一个火花作业罐子在纱。当我用-master yarn-client提交它时,它工作得很好,并给出了我预期的结果 命令如下所示; ./spark-submit--类main.mainclass--主纱--客户端--驱动程序--内存4G--执行器--内存4G--num-执行器4--执行器-核心2 job.jar其他--选项