jan*_*cki 8 scala bigdata apache-spark
使用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
Run Code Online (Sandbox Code Playgroud)
当我的应用程序启动时,我可以在控制台和spark web UI /environment/
选项卡中看到这些值按预期设置.
但是当我去/executors/
tab时,我发现我的节点只分配了114.3GB的存储空间,请看下面的屏幕.
这里显示的总内存是1.1TB,而我预计会有2TB.我仔细检查了其他进程没有使用内存.
不知道这种差异的根源是什么?我错过了一些设置吗?这是/executors/
标签或火花引擎中的错误吗?
您已充分利用了内存,但是在这里,您仅查看内存的存储部分。默认情况下,存储部分为总内存的60%。
Spark中的内存使用情况大体上属于以下两类之一:执行和存储。执行内存是指用于洗牌,联接,排序和聚合的计算的内存,而存储内存是指用于在集群中缓存和传播内部数据的内存。
从Spark 1.6开始,执行内存和存储内存是共享的,因此不太可能需要调整memory.fraction参数。
如果您使用的是yarn,资源管理器的“已使用内存”和“内存总计”的主页将表示总内存使用量。
归档时间: |
|
查看次数: |
1444 次 |
最近记录: |