分享

关于yarn内存分配的问题

chimes298 发表于 2016-3-10 00:52:16 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 8005
yarn.nodemanager.resource.memory-mb是设置内个节点yarn可以占用的内存
yarn.scheduler.maximum-allocation-mb是单个任务最多可申请的内存


假如我的yarn一共有三个节点,设置yarn.nodemanager.resource.memory-mb为30g
是不是理论上讲,yarn.scheduler.maximum-allocation-mb最大可以最大可以设置90g?


已有(2)人评论

跳转到指定楼层
xuanxufeng 发表于 2016-3-10 12:21:10
二者没有关系的。跟下面参数设置有关系

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>22528</value>
    <discription>每个节点可用内存,单位MB</discription>
  </property>


  <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>16384</value>
    <discription>单个任务可申请最大内存,默认8192MB</discription>
  </property>

个人理解:
三个节点:yarn.nodemanager.resource.memory-mb*3


单个任务可申请最大内存,默认8192MB,跟多少个节点没有关系的
回复

使用道具 举报

chimes298 发表于 2016-3-10 14:20:41
xuanxufeng 发表于 2016-3-10 12:21
二者没有关系的。跟下面参数设置有关系

在使用基于yarn的spark程序时,感觉yarn.scheduler.maximum-allocation-mb这个设置,只限制了spark的--executor-memory MEM参数,即一个Executor的内存。可能我一个spark任务有多个Executor,总内存超过了yarn.scheduler.maximum-allocation-mb,但是单个Executor申请内存(--executor-memory MEM)不超过yarn.scheduler.maximum-allocation-mb,程序就可以运行。
这种情况是因为yarn对spark的兼容还不够完善吗?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条