如何查看Hadoop中Word Count作业的执行耗时?
嘿,要查看Hadoop环境下Word Count作业的执行时长,有几个实用的方法,我给你逐个拆解清楚:
方法1:通过Hadoop命令行快速查询
这是最直接的方式,不用打开网页就能拿到信息:
- 首先,先找到已完成的Word Count作业ID,执行命令:
这个命令会列出所有已完成的YARN应用,你可以根据作业名称(一般是yarn application -list -appStates FINISHEDWordCount或者你自定义的名称)找到对应的<application_id>。 - 然后,查询该作业的详细状态,包括执行时间:
在输出结果里,你会看到yarn application -status <application_id>Start Time、Finish Time,以及直接计算好的Elapsed Time(就是作业总执行时长),一目了然。 - 如果你用的是旧版MapReduce(直接用
hadoop jar提交的作业),还可以用历史命令生成详细报告:
这个命令会在当前目录生成一个mapred job -history <你的作业输出目录路径>jobhistory文件夹,里面的index.html或者直接在命令行输出里就能看到作业的总执行时间,甚至每个Map/Reduce任务的耗时。
方法2:通过YARN Web UI直观查看
如果你更喜欢可视化界面,YARN的Web UI会更友好:
- 打开浏览器,访问YARN ResourceManager的UI地址,默认是
http://<ResourceManager节点IP>:8088 - 点击页面上的「Applications」菜单,切换到「Finished Applications」标签页
- 在列表里找到你的Word Count作业,点击作业ID进入详情页
- 在详情页的「Summary」区域,你能直接看到
Start Time、Finish Time和Elapsed Time,还能看到每个阶段(Map/Reduce)的耗时分布。
方法3:查看作业历史服务器记录
如果作业完成有一段时间,YARN UI里的记录可能被清理了,这时候可以用作业历史服务器:
- 访问作业历史服务器的地址,默认是
http://<历史服务器节点IP>:19888 - 在页面上搜索你的Word Count作业(可以用作业ID或名称)
- 进入作业详情页后,不仅能看到总执行时长,还能查看每个任务的详细运行时间、日志等,适合做性能分析。
另外,小提示:如果你在提交作业的时候开启了详细日志,作业完成后在控制台或者日志文件里,也可能直接打印出类似「Job completed successfully in 120 seconds」的信息,能快速拿到结果。
内容的提问来源于stack exchange,提问作者Armin Shafiei
相关产品推荐
相关产品推荐

