yarn-site.xml
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>22528</value>
<discription>每个节点可用内存,单位MB,默认8182MB</discription>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1500</value>
<discription>每个容器可申请最少内存,默认1024MB</discription>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>16384</value>
<discription>每个容器可申请最大内存,默认8192MB</discription>
</property>
mapred-site.xml
<property>
<name>mapreduce.map.memory.mb</name>
<value>1500</value>
<description>每个Map任务的物理内存限制</description>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3000</value>
<description>每个Reduce任务的物理内存限制</description>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1200m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2600m</value>
</property>
mapreduce.map.memory.mb:每个map任务的内存,应该是大于或者等于Container的最小内存。
22528在yarn-site.xml配置的所有可用内存
按照上面的配置:每个slave可以运行map的数据<= 22528/1500,reduce任务的数量<=22528/3000
mapreduce.map.java.opts和mapreduce.reduce.java.opts的配置项在2.6.2中没有找到,找到这个
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx1800m</value>
</property>
在sqoop导出mysql数据到hbase时,出现错误
gc overhead limit exceeded
通过调高:
mapred.child.java.opts
mapreduce.map.memory.mb
mapreduce.reduce.java.opts
解决此错误
HDP解释:How to Plan and Configure YARN and MapReduce 2 in HDP 2.0
http://zh.hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp-2-0/