注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mmicky 的博客

追逐刹那的惊艳

 
 
 

日志

 
 

关于SPARK_WORKER_MEMORY和SPARK_MEM  

2014-04-14 00:12:38|  分类: spark |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在spark中最容易混淆的是各种内存关系。本篇讲述一下SPARK_WORKER_MEMORY和SPARK_MEM。

SPARK_WORKER_MEMORY是计算节点worker所能支配的内存,各个节点可以根据实际物理内存的大小,通过配置conf/spark-env.sh来分配内存给该节点的worker进程使用。在spark standalone集群中,如果各节点的物理配置不一样,conf/spark-env.sh中的配置也可以不一样。习惯上,为了维护方便,我们修改了master的配置,然后就scp到各个节点上,生产上,我们还是应该根据各个节点的实际情况来配置。
比如:Spark1.0.0 Standalone模式部署中可以分别修改各节点的SPARK_WORKER_MEMORY参数:
  • hadoop2为700m
  • hadoop3为800m
  • hadoop4为900m
  • hadoop5为1000m

SPARK_MEM是SparkContext提交给worker运行的executor进程所需要的内存,如果worker本身能支配的内存小于这个内存,那么在该worker上就不会分配到executor。Spark Application在SparkContext里中没有配置内存需求的情况下,如果设置了环境变量SPARK_MEM,Spark Application则取设置的数值,不然取缺省值512m。

现在在客户端wyy上配置SPARK_MEM=900m,然后运行spark-shell,查看监控情况,可以发现,spark-shell只使用了hadoop4和hadoop5这两个worker,而hadoop2和hadoop3因为内存满足不了spark-shell的内存需求而没有使用。
hadoop@wyy:/app/hadoop/spark090$ export SPARK_MEM=900m
hadoop@wyy:/app/hadoop/spark090$ MASTER=spark://hadoop1:7077 bin/spark-shell
关于SPARK_WORKER_MEMORY和SPARK_MEM - mmicky - mmicky 的博客
 
TIPS:
如果是非集群中客户端提交Spark Application,那么该客户端的spark部署目录要和集群中的目录一致,不然容易出错。
Spark Application申请内存的优先次序是:SparkContext中配置 > SPARK_MEM > 缺省值512m

  评论这张
 
阅读(597)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017