我正在8节点集群上运行Spark,并将yarn作为资源管理器。我每个节点有64GB内存,并将执行程序内存设置为25GB,但是出现错误:
Required executor memory (25600MB) is above the max threshold (16500 MB) of this cluster! Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'.
我将yarn.scheduler.maximum-allocation-mb
和yarn.nodemanager.resource.memory-mb
设置为25600,但没有任何变化。
答案 0 :(得分:2)
执行器内存只是内存的堆部分。您仍然必须运行JVM,并在容器内分配内存的非堆部分,并使其适合YARN。请参阅桑迪·里扎(Sandy Ryza)的How-to: Tune Your Apache Spark Jobs (Part 2)中的图片。
如果您要使用25 GB的执行器内存,建议将yarn.scheduler.maximum-allocation-mb
和yarn.nodemanager.resource.memory-mb
提高到42GB之类的水平。