我有一个Apache Spark应用程序在集群模式下在YARN集群上运行(Spark在此集群上有3个节点)。
当应用程序运行时,Spark UI显示2个执行器(每个执行器在不同的节点上运行)和驱动程序在第三个节点上运行。我希望应用程序使用更多的执行器,所以我尝试添加参数--num executors to Spark submit并将其设置为6。
Spark-提交-驱动程序-内存3G-num-执行器6-类主。应用程序-执行器-内存11G-主纱-集群myJar.jar
然而,遗嘱执行人的人数仍为2人。
在spark UI上,我可以看到参数spark。执行人。实例是6个,正如我所期望的,但不知何故仍然只有2个执行者。
我甚至试着从代码中设置这个参数
sparkConf.set("spark.executor.instances", "6")
同样,我可以看到参数被设置为6,但仍然只有2个执行器。
有人知道我为什么不能增加遗嘱执行人的人数吗?
纱线节点管理器。资源纱线位置内存mb为12g。xml
要充分利用spark群集,您需要根据群集设置--num executors
、--executor cores
和--executor memory
的值:
请注意,yarn.nodemanager.resource.memory-mb
是单个NodeManager可以跨一个节点上的所有容器分配的总内存。
在您的例子中,由于yarn.nodemanager.resource.memory-mb=12G
,如果您将分配给任何单个节点上所有YARN容器的内存相加,它不能超过12G。
您已经为每个Spark executor容器请求了11G(执行器内存11G)。虽然11G小于12G,但这仍然不起作用。为什么?
spark.yarn.executor.memoryOverhead
,也就是min(执行内存*0.10,384)
(默认情况下,除非你覆盖它)。因此,以下数学必须成立:
<代码>火花。执行人。内存火花。纱线执行人。内存溢出
请参见:https://spark.apache.org/docs/latest/running-on-yarn.html有关spark的最新文档。纱线执行人。内存溢出
此外,<代码>火花。执行人。实例只是一个请求。应用程序的Spark ApplicationMaster将向Thread ResourceManager请求容器数=Spark。执行人。实例
。ResourceManager将根据以下条件在NodeManager节点上授予请求:
如果请求未被授予,当满足上述条件时,请求将被排队并授予。
增加yarn.nodemanager.resource.memory-mbyarn-site.xml
对于每个节点12g,您只能启动驱动程序(3g)和2个执行器(11g)。
Node1-驱动程序3g(7%开销)
节点2-执行器1 11g(7%开销)
节点3-执行器2 11g(7%开销)
现在您正在请求11g的执行器3,并且没有节点有11g可用存储器。
对于7%的开销,请参阅spark.yarn.executor.memory开销和spark.yarn.driver.memory开销https://spark.apache.org/docs/1.2.0/running-on-yarn.html
注意:从2.8版开始,Symfony为服务配置提供了,从3.3版开始,Symfony提供了(而不是)来将具体对象别名到接口,以便将依赖项自动注入到“控制器即服务”中。还有一个包允许控制器“动作”方法的自动接线,尽管我已经离开了这个包,并且更多地关注ADR模式的变化(基本上,这是一个带有接口方法的单个“action”类,而不是在单个类中推送一堆actions方法,最终导致架构噩梦)。这就是我多年来一
我是javascript新手,这可能是一个简单的问题。。。 我在这里所做的是修改div(#box)的css样式,这取决于你所在页面的位置( 我试图实现的是向#box添加多个css更改,并每次执行一个随机更改。例如,每次从最顶端滚动通过200,div的显示高度为:绿色背景为“100px”,蓝色背景为“200px”,或红色背景为“300px”。希望这有意义。。。。
问题内容: 考虑以下查询。 两个查询的执行计划相同,并且同时执行。但是,我期望第二个查询将有不同的计划,并且执行速度会变慢,因为它必须从联系人中选择所有数据并应用过滤器。看来我错了。 我想知道这是怎么回事? 数据库服务器:SQL Server 2005 问题答案: 正在发生“查询优化器”。当您运行查询时,SQL Server使用基于成本的优化器来确定最有可能满足该请求(即执行计划)的最佳方法。将其
我已经将spark.executor.memory设置为2048M,在UI“环境”页面中,我可以看到这个值已经设置正确。但是在“executors”页面中,我看到只有一个executor,它的内存是265.4MB。非常奇怪的价值。为什么不是256MB,或者就像我设定的那样?
我有一个Spring Boot应用程序,我有以下依赖关系:
我对akka-actor是一个新手,对一些问题感到困惑: 当我创建actorSystem并使用actorOf(Props(ClassOf[AX],...))在main方法中创建actor,我的ActorAX有多少实例? 如果Q1的答案只有一个,那么这是否意味着我在AX actor类定义中创建的任何数据结构都只会出现在一个线程中,而我不应该关心并发问题? 如果我执行元的一个操作(receive方法中