我有一个3个节点的集群,每个节点有12个核心,分别是30G,20G和10G的RAM。当我运行我的应用程序时,我将执行程序内存设置为20G,这会阻止执行程序在10G机器中启动,因为它超过了从属内存阈值,它还利用了30G机器上的资源。我搜索但没有找到任何方法根据节点的容量动态设置执行程序内存,那么如何配置集群或我的Spark作业以充分利用集群的资源?
答案 0 :(得分:1)
解决方案是让更多的执行程序具有更少的内存。您可以通过使用6-10G执行器来使用所有内存(10G节点上1个,20G节点上2个,30G节点上3个)。或者拥有12-5G执行者。等