Hadoop 历史服务器与日志详解

本文部分资料转自 Hadoop日志存放路径详解
本文部分资料转自 Hadoop历史服务器详解
本文部分资料转自 董的博客:Hadoop 2.0中作业日志收集原理以及配置方法


一. Hadoop 日志存放路径详解

Hadoop 的日志有很多种,很多初学者往往遇到错而不知道怎么办,其实这时候就应该去看看日志里面的输出,这样往往可以定位到错误。Hadoop的日志大致可以分为两大类,且这两类的日志存放的路径是不一样的。本文基于Hadoop 2.x 版本进行说明的。

1. Hadoop 系统服务输出的日志
2. Mapreduce 程序输出来的日志

  • 作业运行日志
  • 任务运行日志 (Container 日志)

Hadoop 2.0 提供了跟 1.0 类似的作业日志收集组件,从一定程度上可认为直接重用了 1.0 的代码模块,考虑到YARN 已经变为通用资源管理平台,因此,提供一个通用的日志收集模块势在必行,由于目前通用日志收集模块正在开发中(可参考 “YARN-321” ),本文仅介绍MRv2(MapReduce On YARN)自带的日志收集模块,包括工作原理以及配置方法。

在 Hadoop 2.0 中,Mapreduce 程序的日志包含两部分,作业运行日志任务运行日志(Container 日志)


1.1 Hadoop系统服务输出的日志

诸如 NameNode、DataNode、ResourceManage 等系统自带的服务输出来的日志默认是存放在 ${HADOOP_HOME}/logs 目录下。比如 resourcemanager 的输出日志为 yarn-${USER}-resourcemanager-${hostname}.log

  • yarn 指的就是该日志的属性即为 YARN,其他类似的有 mapred、hadoop 等
  • ${USER}s 是指启动 resourcemanager 进程的用户
  • resourcemanager 就是指明 resourcemanager 进程,其他类似的有 namenode、zkfc、historyserver 等
  • ${hostname} 是 resourcemanager 进程所在机器的 hostname

当日志到达一定的大小(可以在 ${HADOOP_HOME}/etc/hadoop/log4j.properties 文件中配置)将会被切割出一个新的文件,切割出来的日志文件名类似 yarn-${USER}-resourcemanager-${hostname}.log.数字 的形式,后面的数字越大,代表日志越旧。在默认情况下,只保存前 20 个日志文件,比如下面:

这里写图片描述


1.2 配置 Hadoop 系统服务日志

1. 配置 log4j 日志的属性参数

比如 resourcemanager(在 ${HADOOP_HOME}/etc/hadoop/log4j.properties):

log4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager
          $ApplicationSummary=${yarn.server.resourcemanager.appsummary.logger}
log4j.additivity.org.apache.hadoop.yarn.server.resourcemanager
                                    .RMAppManager$ApplicationSummary=false
log4j.appender.RMSUMMARY=org.apache.log4j.RollingFileAppender
log4j.appender.RMSUMMARY.File=${hadoop.log.dir}/
                        ${yarn.server.resourcemanager.appsummary.log.file}
log4j.appender.RMSUMMARY.MaxFileSize=256MB(多大切割日志)
log4j.appender.RMSUMMARY.MaxBackupIndex=20(说明保存最近20个日志文件)
log4j.appender.RMSUMMARY.layout=org.apache.log4j.PatternLayout
log4j.appender.RMSUMMARY.layout.ConversionPattern=%d{ISO8601}
  • 10
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了配置Hadoop历史服务器,你可以按照以下步骤进行操作: 1. 打开mapred-site.xml文件进行配置。 2. 在mapred-site.xml文件中,找到相关的配置项,可以使用文本编辑器打开该文件,比如使用vim命令:vim $HADOOP_HOME/etc/hadoop/mapred-site.xml。请将$HADOOP_HOME替换为你的Hadoop安装目录。 3. 在mapred-site.xml文件中,添加以下配置项: ``` <property> <name>mapreduce.jobhistory.address</name> <value>hadoop102:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop102:19888</value> </property> ``` 这些配置项分别指定了历史服务器的地址和Web界面的地址。你可以根据实际情况修改这些值。 4. 保存并关闭mapred-site.xml文件。 5. 在终端上运行命令启动历史服务器,例如:mapred --daemon start historyserver。确保你已经切换到Hadoop用户。 现在,你已经成功配置了Hadoop历史服务器。你可以通过访问指定的地址来查看程序的历史运行情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Hadoop配置历史服务器](https://blog.csdn.net/weixin_43652205/article/details/129283027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [11.Hadoop_入门_历史服务器配置](https://blog.csdn.net/qq_25400167/article/details/117327981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值