请帮助我理解我的理解或配置中的错误。
我正在YARN上运行Spark,并在yarn-site.xml中将最小容器内存分配设置为8GB:
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>8192</value>
</property>
我可以在Resource Manager UI中看到此设置:
但是,当我在服务器上ps容器的Java进程时,最大堆大小设置为1024MB,即-Xmx1024m:
root 542 535 1 16:18 ? 00:05:58 /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -server -Xmx1024m -Djava.io.tmpdir=/tmp/hadoop-root/nm-local-dir/usercache/root/appcache/application_1583021363029_0011/container_1583021363029_0011_03_000003/tmp ...
容器的Java进程ID为542:
Logs for container_1583021363029_0011_03_000003
0/03/02 16:18:57 INFO executor.CoarseGrainedExecutorBackend: Started daemon with process name: [email protected]
20/03/02 16:18:57 INFO util.SignalUtils: Registered signal handler for TERM
20/03/02 16:18:57 INFO util.SignalUtils: Registered signal handler for HUP
20/03/02 16:18:57 INFO util.SignalUtils: Registered signal handler for INT
Java opts和YARN容器的大小是不同的属性
最大堆大小设置可以在群集模式下通过
spark.driver.memory
设置,并在客户端模式下通过--driver-memory
命令行选项设置