在独立模式下在异构集群上运行Spark

我有一个3个节点的集群,每个节点有12个核心,分别是30G,20G和10G的RAM . 当我运行我的应用程序时,我将执行程序内存设置为20G,这会阻止执行程序在10G机器中启动,因为它超过了从属内存阈值,它还利用了30G机器上的资源 . 我搜索但没有找到任何方法根据节点的容量动态设置执行程序内存,那么如何配置集群或我的Spark作业以充分利用集群的资源?

回答(1)

2 years ago

解决方案是让更多的执行程序具有更少的内存 . 您可以通过使用6-10G Actuator 来使用所有内存(10G节点上1个,20G节点上2个,30G节点上3个) . 或者拥有12-5G执行者 . 等等