YARN 无法识别增加的"yarn.scheduler.maximum-allocation-mb"和"yarn.nodemanager.resource.memory-mb"值



我正在使用一个利用纱线的码头化pyspark集群。为了提高数据处理管道的效率,我想增加分配给pyspark执行器和驱动程序的内存量。

这是通过向发送给Livy的REST post请求添加以下两个键值对来完成的:"driverMemory": "20g" "executorMemory": "56g"

这样做会导致以下错误,我在Livy的日志中发现了这个错误:java.lang.IllegalArgumentException: Required executor memory (57344), overhead (5734 MB), and PySpark memory (0 MB) is above the max threshold (8192 MB) of this cluster! Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'.

当然,我已经适当地编辑了yarn-site.xml,并通过在文件中包含以下行将提到的两个值都设置为64GB,它看起来像这样,但似乎没有什么区别。

如果executoMemory+10%的开销超过8192MB,则不同的driverMemory和executorMemory值也会出现类似的问题。

如何修复此问题并分配更多的执行器内存?

在启动服务时,确保您的yarn.site在主容器和辅助容器上看起来完全相同。

看起来你可能只在master上编辑它,这可能是造成这种混乱的原因。根据一般经验,集群中所有机器上的所有配置文件(以及许多其他内容(看起来都必须完全相同。

最新更新