加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 18:51:18 所属栏目:安全 来源:网络整理
导读:使用Spark-2.1.0-SNAPSHOT在10个节点集群上以独立客户端模式启动spark. 9个节点是工人,第10个是主人和司机.每个256GB的内存. 我很难充分利用我的集群. 我使用以下参数为spark-shell设置执行程序和驱动程序的内存限制为200GB: spark-shell --executor-memory
使用Spark-2.1.0-SNAPSHOT在10个节点集群上以独立客户端模式启动spark.
9个节点是工人,第10个是主人和司机.每个256GB的内存.
我很难充分利用我的集群.

我使用以下参数为spark-shell设置执行程序和驱动程序的内存限制为200GB:

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

当我的应用程序启动时,我可以在控制台和spark web UI / environment / tab中看到这些值按预期设置.
但是当我进入/ executors / tab然后我看到我的节点只分配了114.3GB的存储空间,请参见下面的屏幕.

enter image description here

这里显示的总内存是1.1TB,而我预计会有2TB.我仔细检查了其他进程没有使用内存.
不知道这种差异的根源是什么?我错过了一些设置吗?它是/ executors / tab或spark引擎中的错误吗?

解决方法

你正在充分利用内存,但在这里你只看内存的存储部分.默认情况下,存储部分占总内存的60%.

From Spark Docs

Memory usage in Spark largely falls under one of two categories: execution and storage. Execution memory refers to that used for computation in shuffles,joins,sorts and aggregations,while storage memory refers to that used for caching and propagating internal data across the cluster.

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

如果您正在使用yarn,则资源管理器的“Memory Used”和“Memory Total”的主页将表示总内存使用量.

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读