大数据 -06-Hadoop 集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce 执行记录 日志聚合结果可视化查看

点一下关注吧!!!非常感谢!!持续更新!!!
点一下关注吧!!!非常感谢!!持续更新!!!
🚀 AI 篇持续更新中!(长期更新)
目前 2025 年 06 月 05 日更新到:
**AI 炼丹日志-28 - Audiblez 将你的电子书 epub 转换为音频 mp3 做有声书**,持续打造实用 AI 工具指南!📐🤖
💻 Java 篇正式开启!(300 篇)
目前 2025 年 06 月 05 日更新到:
**Java-39 深入浅出 Spring - AOP 切面增强 核心概念 通知类型 XML+注解方式 附代码**
MyBatis 已完结,Spring 正在火热更新中,深入浅出助你打牢基础!
📊 大数据板块已完成多项干货更新(300 篇):
包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈!
目前 2025 年 06 月 05 日更新到:
**大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT 案例 详解**
👉 点个关注,不迷路!后续还将持续更新更多大模型+数据智能+工程实战内容,敬请期待!
章节内容:
上一节完成:
HDFS 文件操作
WordCount 案例 分布式运行
查看运行结果
背景介绍
这里是三台公网云服务器,每台 2C4G,搭建一个 Hadoop 的学习环境,供我学习。之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的 3 台机器,赶紧尝试在公网上搭建体验一下。
注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!
但是有一台公网服务器我还运行着别的服务,比如前几天发的:autodl-keeper 自己写的小工具,防止 AutoDL 机器过期的。还跑着别的 Web 服务,所以只能挤出一台 2C2G 的机器。那我的配置如下了:
2C4G 编号 h121
2C4G 编号 h122
2C2G 编号 h123

请确保上一节内容全部完毕和跑通!!!
目前问题
在YARN
中运行的任务生产的日志都看不了,所以如果需要查看程序历史的运行结果,需要配置历史服务器。
历史服务
基本介绍
JobHistoryServer(JHS)是 Hadoop MapReduce 框架中的一个重要组件,主要用于跟踪和管理已完成的 MapReduce 作业。它记录了作业的详细历史信息,包括作业的状态、资源使用情况、任务成功或失败等信息。JHS 可以帮助用户在作业完成后分析其性能、发现问题和优化作业的执行。JobHistoryServer 是 Hadoop MapReduce 系统中不可或缺的组件,为用户提供了作业历史管理和分析功能。在日常使用中,合理配置和管理 JHS,可以帮助用户更好地掌握作业的运行状况,从而更高效地利用集群资源。
JobHistoryServer 的作用
作业跟踪:JHS 负责存储已完成 MapReduce 作业的历史记录。当一个作业结束时,YARN ResourceManager 会将作业的历史数据转移到 JHS。用户和管理员可以通过 JHS 查看所有完成的作业,分析作业执行情况。
故障排查:JHS 的历史数据可以帮助用户快速定位失败任务的原因。用户可以通过 JHS 的日志查看失败的任务以及其失败原因,便于排查和解决问题。
性能分析:通过访问作业的历史信息,用户可以分析作业的执行时间、资源使用情况等数据,以便对 MapReduce 作业进行优化。
工作流程
作业完成:当 MapReduce 作业完成时,ApplicationMaster 会将作业的输出和状态信息转存到 HDFS 的日志目录中。
JHS 读取历史数据:JHS 会定期扫描指定的 HDFS 目录,从中读取新的历史文件。
数据存储与管理:JHS 将历史记录存储在 HDFS 上,并提供 Web UI 以便用户可以通过浏览器查看作业历史。
用户访问:用户可以通过 Web UI 访问 JHS,查看作业的详细历史记录、任务列表、任务状态等信息。
基本配置
JHS 的配置主要在 Hadoop 配置文件 mapred-site.xml 中进行。以下是一些关键的配置项:
mapreduce.jobhistory.address:设置 JHS 的地址(例如,0.0.0.0:10020)。
mapreduce.jobhistory.webapp.address:设置 JHS 的 Web UI 地址(例如,0.0.0.0:19888)。
mapreduce.jobhistory.intermediate-done-dir:指定作业完成后的中间文件目录。
mapreduce.jobhistory.done-dir:指定最终的历史数据目录。
mapred-site
修改 mapred-site.xml
,在之前的基础上,添加如下的内容:

同步配置
通过分发脚本将脚本同步,你也可以手动都配置一下。
保证这三台节点的配置一致即可!
h121
h122
h123

启动服务
在 h121
机器上运行
查看结果

访问网页
JHS 提供了一个基于 Web 的用户界面,通过访问 http://<hostname>:19888 可以查看作业历史数据。在 Web UI 中,用户可以:
查看完成的作业列表,包括每个作业的 ID、名称、开始时间、结束时间和状态。
查看每个作业的详细信息,包括 Mapper 和 Reducer 的任务详情。
了解每个任务的运行时长、失败重试次数等信息,以便深入分析作业的执行情况。

日志聚集
在 h121
节点上修改 yarn-site.xml
修改为如下的内容:
修改截图如下:

同步配置
同样的,你也可以使用手动进行同步,只要保证配置是一致的即可
重启服务
在 h121
上进行操作:
在 h121
上继续操作:
测试效果

运行测试
重新运行我们之前跑的 WordCount
的案例:

查看日志

版权声明: 本文为 InfoQ 作者【武子康】的原创文章。
原文链接:【http://xie.infoq.cn/article/ca26f7465797a2775632cf765】。文章转载请联系作者。
评论