
# MapReduce大任务的AM调优
#### 操作场景
当运行一个大任务（map总数达到了10万的规模），但是一直没有运行成功。经过查询发现是ApplicationMaster（以下简称AM）反应缓慢，最终超时失败。
此任务的问题是，task数量变多时，AM管理的对象也线性增长，因此就需要更多的内存来管理。AM默认分配的内存堆大小是1GB。
#### 操作步骤
通过调大如下的参数来进行AM调优。
参数入口：
在Yarn客户端的"mapred-site.xml"配置文件中调整如下参数。"mapred-site.xml"配置文件在客户端安装路径的conf目录下，例如"/opt/client/Yarn/config"。
| **参数**                             | **描述**                                  | **默认值**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| yarn.app.mapreduce.am.resource.mb  | 该参数值必须大于下面参数的堆大小。单位：MB                  | 1536                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| yarn.app.mapreduce.am.command-opts | 传递到MapReduce ApplicationMaster的JVM启动参数。 | - MRS 3.x之前版本：-Xmx1024m -XX:CMSFullGCsBeforeCompaction=1 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -verbose:gc  - MRS 3.x及之后版本：-Xmx1024m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -verbose:gc -Djava.security.krb5.conf=${KRB5_CONFIG} -Dhadoop.home.dir=*${BIGDATA_HOME}* /FusionInsight_HD_*xxx* /install/FusionInsight-Hadoop-*xxx*/hadoop   |
   
