spark yarn客户端模式(1主,4从):无法更改驱动程序内存主显示的日志文件-xmx1g

wqlqzqxt  于 2021-07-09  发布在  Spark
关注(0)|答案(0)|浏览(227)

我正在ec2集群上使用spark-2.4.7-without-hadoop和hadoop-3.2.2,配置为:
主机(一个ec2 c4.2xlarge)有16gbram和8vcpu(4个物理核和超线程因子2);4个从机(每个从机是一个ec2 m4.xlarge)每个都有15gb的ram和4vcpu(4个物理核)。
我提交了一个应用程序jar,使用spark submit在客户机模式下的yarn集群上运行。我在主机上触发Spark提交,如下所示: ${SPARK_HOME}/bin/spark-submit --master yarn --deploy-mode client --driver-memory 12g --executor-memory 12g --executor-cores 3 --class ClassName App.jar argsToApp 位于${spark\u home}/logs/的主机的spark日志文件在spark命令中有一个-xmx1g。这使我相信命令行驱动程序内存没有分配给我的应用程序。很快,我的申请就以失败告终 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 有时抛出的异常是 java.lang.OutOfMemoryError : GC overhead limit exceeded 在上一个之前我尝试过的另一件事是:我用以下代码修改了${spark\u home}/conf/spark-defaults.conf

spark.yarn.am.memory                12g
spark.yarn.am.cores                 3

主程序的日志在spark命令中仍然显示-xmx1g,并且应用程序因错误而终止 java.lang.OutOfMemoryError : GC overhead limit exceeded myyarn-site.xml的相关属性如下:

<!-- number of physical cores available per data node -->
  <property>
     <name>yarn.nodemanager.resource.cpu-vcores</name>
     <value>4</value>
  </property>

  <!-- the total RAM available per data node. amount of physical memory that can be allocated for containers aka amount of memory YARN can use on this node. This property should be lower than total memory of the machine. For example, leave 1GB out of the physical memory for host OS and other daemons-->
  <property>
     <name>yarn.nodemanager.resource.memory-mb</name>
     <!-- <value>12288</value> -->
     <!-- <value>16384</value> -->
        <value>15360</value>
  </property>

  <!-- the minimum RAM in MB to allocate per container. These ranges are used for decided whether requested spark executors can be fulfilled or not. If very high number of executors are requested then this min will be allocated to the containers. -->
  <property>
     <name>yarn.scheduler.minimum-allocation-mb</name>
   <value>8192</value>
  </property>

我已经提到了这些问题:1、2、3(这个答案提到要通过-xmx更改java应用程序的堆大小,但我不知道如何以及在哪里做),4;以及spark-2.4.7的文档,这里讨论的是配置 spark.yarn.am.memory 以及 spark.yarn.am.cores 在客户机模式下运行Yarn时。
请指出我遗漏了什么。谢谢你的时间和关注。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题