Spark未使用所有已配置的内存

使用Spark-2.1.0-SNAPSHOT在10个节点群集上以独立客户端模式启动spark。
9个节点是工人,10个是主人和司机。每个256GB的内存。 我很难完全利用我的群集。Spark未使用所有已配置的内存

我用下面的参数,为执行人内存限制和驱动程序设置多达200GB火花外壳:

spark-shell --executor-memory 200g --driver-memory 200g --conf spark.driver.maxResultSize=200g 

当我的应用程序启动时,我可以看到的无论是在控制台和火花预计设置这些值web UI /environment/选项卡。
但是,当我去/executors/选项卡,然后我看到我的节点只有114.3GB的存储内存分配,请参阅下面的屏幕。这里显示

总内存是那么1.1TB,而我希望有2TB。我再次检查其他进程没有使用内存。
任何想法这种差异的根源是什么?我错过了一些设置?它是/executors/选项卡或火花引擎中的错误吗?

回答:

您正在充分利用内存,但在此仅查看内存的存储部分。默认情况下,存储部分占总内存的60%。执行和存储:在火花

From Spark Docs

内存使用两个类别之一下很大程度上降低。执行内存是指用于在混洗,连接,排序和聚合中进行计算的内存,而存储内存指的是用于跨群集缓存和传播内部数据的内存。

从Spark 1.6开始,执行内存和存储内存是共享的,所以不太可能需要调整memory.fraction参数。

如果使用纱线,资源管理器的“使用内存”和“内存总数”的主页将表示内存使用总量。

以上是 Spark未使用所有已配置的内存 的全部内容, 来源链接: utcz.com/qa/262050.html

回到顶部