技术开发 频道

Hadoop 新 MapReduce 框架 Yarn 详解

  清单 9.Demo 执行脚本

  然后我们使用上文中的脚本启动 demo 并执行:

Hadoop 新 MapReduce 框架 Yarn 详解
▲Demo 程序运行

  从上图的 console 输出中我们可以看到 Demo 程序的结果和各项统计信息输出,下面我们通过 Web 监控界面详细中观察程序执行的执行流程和步骤细节。

  Job 启动后我们可以通过 ResourceManager 的 Web 端口(在上文中 Yarn-site.xml 配置文件中 Yarn.resourcemanager.webapp.address 配置项) http://192.168.137.8:18088 来监控其 job 的资源调度。

Hadoop 新 MapReduce 框架 Yarn 详解
▲接收请求和生成 job application

  上图中我们可以看到 Yarn 框架接受到客户端请求 , 如上图所示 ID 为 application_1346564668712_0003 的 job 已经是 accepted 状态

  我们点击该 ID 的链接进入到该 application 的 Map-Reduce 处理监控页面,该界面中有动态分配的 ApplicationMaster 的 Web 跟踪端口可以监视 MapReduce 程序的步骤细节

Hadoop 新 MapReduce 框架 Yarn 详解
▲hadoop MapReduce Application Web 监控页面 (1)

  点击上图中 ApplicationMaster 的 URL 可以进入该 ApplicationMaster 负责管理的 Job 的具体 Map-Reduce 运行状态:

Hadoop 新 MapReduce 框架 Yarn 详解
▲hadoop MasterApplication Web 监控页面(2)

  上图中我们可以看到 ID 为 application_1346564668712_0003 的 Job 正在执行,有 2 个 Map 进程,已经处理完毕,有 2 个 Reduce 正在处理,这跟我们程序设计预期的是一样的。

  当状态变为 successful 后,进入 dfs 文件系统可以看到,输出的 dfs 文件系统已经生成,位置位于 /user/oracle/dfs 下,目录名为 output-2012.09.02.13.52,可以看到格式和命名方式与 Demo 设计是一致的,如下图所示:

Hadoop 新 MapReduce 框架 Yarn 详解
▲Demo 输出目录(1)

  我们进入具体的输出目录,可以清楚的看到程序处理的输出结果,正如我们 Demo 中设计的,两个 Reduce 分别生成了两个输出文件,分别是 part-r-00000 和 part-r-00001,对应 Module 和 Log Level 的处理输出信息:

Hadoop 新 MapReduce 框架 Yarn 详解
▲Demo 输出目录(2)

  点击 part-r-00000 的输出文件链接,可以看到程序处理后的 log level 的统计信息:

Hadoop 新 MapReduce 框架 Yarn 详解
▲Demo 输出结果(1)

  点击 part-r-00001 的输出文件链接,可以看到程序处理后 Module 的统计信息:

Hadoop 新 MapReduce 框架 Yarn 详解
▲Demo 输出结果(2)

  至此我们基于新的 Yarn 框架的 Demo 完全成功运行,实现功能与预期设计完全一致,运行状态和 NameNode/DataNode 部署,Job/MapReduece 程序的调度均和设计一致。读者可参考该 Demo 的配置及代码进行修改,做为实际生产环境部署和实施的基础。

0
相关文章