大任务的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启动参数。  | 
      
        -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  |