配置Container日志聚合功能
配置场景
- 应用完成后将Container日志一次性收集到HDFS。
 - 应用运行过程中周期性收集Container输出的日志片段到HDFS。
 
配置描述
参数入口:
参考修改集群服务配置参数进入Yarn服务参数“全部配置”界面,在搜索框中输入表1中参数名称,修改并保存配置。然后在Yarn服务“概览”页面选择“更多 > 同步配置”。同步完成后重启Yarn服务。
周期性收集日志功能目前仅支持MapReduce应用,且MapReduce应用必须进行相应的日志文件滚动输出配置,需要在MapReduce客户端节点的“客户端安装路径/Yarn/config/mapred-site.xml”配置文件中进行如表3所示的配置。
| 
        参数  | 
      
        描述  | 
      
        默认值  | 
     
|---|---|---|
| 
        yarn.log-aggregation-enable  | 
      
        设置是否打开Container日志聚合功能。 
 修改参数值后,需重启YARN服务使其生效。 
         说明: 
         
  | 
      
        true  | 
     
| 
        yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds  | 
      
        NodeManager周期性日志收集的时间间隔。 
 定义NodeManager唤醒并上传日志的间隔周期。设置为-1或0表示禁用滚动监控,应用任务结束后日志汇聚。取值范围大于等于-1。  | 
      
        -1  | 
     
| 
        yarn.nodemanager.disk-health-checker.log-dirs.max-disk-utilization-per-disk-percentage  | 
      
        配置Container日志目录可以占用每块磁盘上YARN的磁盘配额的最大百分比。当日志目录占用空间超过此设定值时,将触发周期性日志收集服务启动一次周期外的日志收集活动,以释放本地磁盘空间。每个磁盘上可提供给Container logs的最大可使用率。当Container logs使用超过这个限制,会触发滚动汇聚。 
 
         说明: 
         
  | 
      
        25  | 
     
| 
        yarn.nodemanager.remote-app-log-dir-suffix  | 
      
        设置HDFS用于存放Container日志的文件夹名称。该配置加上“yarn.nodemanager.remote-app-log-dir”,构成了Container日志的完整存放目录。目录为:“{yarn.nodemanager.remote-app-log-dir}/${user}/bucket-{yarn.nodemanager.remote-app-log-dir-suffix}-tfile”。 
         说明: 
         {user}为运行任务时的用户名。  | 
      
        logs  | 
     
| 
        yarn.nodemanager.log-aggregator.on-fail.remain-log-in-sec  | 
      
        设置Container日志归集失败后日志在本地保留的时间。单位:秒。 
  | 
      
        604800  | 
     
参考修改集群服务配置参数进入Mapreduce服务参数“全部配置”界面,在搜索框中输入表2中参数名称。
| 
        参数  | 
      
        描述  | 
      
        默认值  | 
     
|---|---|---|
| 
        yarn.log-aggregation.retain-seconds  | 
      
        汇聚日志的保存时间。单位:秒。 
 
  | 
      
        1296000  | 
     
| 
        yarn.log-aggregation.retain-check-interval-seconds  | 
      
        设置扫描HDFS保存的Container聚合日志的间隔时间。单位:秒。 
  | 
      
        86400  | 
     
参考修改集群服务配置参数进入Yarn服务参数“全部配置”界面,在搜索框中输入表3中参数名称。
| 
        参数  | 
      
        描述  | 
      
        默认值  | 
     
|---|---|---|
| 
        mapreduce.task.userlog.limit.kb  | 
      
        MR应用程序单个task日志文件大小限制。当日志文件达到该限制时,会新建一个日志文件进行输出。设置为“0”表示不限制日志文件大小。  | 
      
        51200  | 
     
| 
        yarn.app.mapreduce.task.container.log.backups  | 
      
        MR应用程序task日志保留的最大个数。 设置为“0”表示不滚动输出。 使用CRLA(ContainerRollingLogAppender)时任务日志备份文件的数量。默认使用CLA(ContainerLogAppender)且container日志不回滚。 当mapreduce.task.userlog.limit.kb和yarn.app.mapreduce.task.container.log.backups都大于0时,任务启用CRLA。取值范围0~999。  | 
      
        10  | 
     
| 
        yarn.app.mapreduce.am.container.log.limit.kb  | 
      
        MR应用程序单个AM日志文件大小限制。单位:KB,当日志文件达到该限制时,会新建一个日志文件进行输出。设置为“0”表示不限制单个AM日志文件大小。  | 
      
        51200  | 
     
| 
        yarn.app.mapreduce.am.container.log.backups  | 
      
        MR应用程序AM日志保留的最大个数。设置为“0”表示不滚动输出。使用CRLA(ContainerRollingLogAppender)时ApplicationMaster日志备份文件的数量。默认使用CLA(ContainerLogAppender)且容器日志不回滚。 当yarn.app.mapreduce.am.container.log.limit.kb和yarn.app.mapreduce.am.container.log.backups都大于0时,ApplicationMaster启用CRLA。取值范围0~999。  | 
      
        20  | 
     
| 
        yarn.app.mapreduce.shuffle.log.backups  | 
      
        MR应用程序shuffle日志保留的最大个数。设置为“0”表示不滚动输出。 当yarn.app.mapreduce.shuffle.log.limit.kb和yarn.app.mapreduce.shuffle.log.backups都大于0时,syslog.shuffle将采用CRLA。取值范围0~999。  | 
      
        10  | 
     
| 
        yarn.app.mapreduce.shuffle.log.limit.kb  | 
      
        MR应用程序单个shuffle日志文件大小限制,单位KB。当日志文件达到该限制时,会新建一个日志文件进行输出。设置为“0”不限制单个shuffle日志文件大小。取值范围大于等于0。  | 
      
        51200  |