技术开发 频道

Hadoop 新 MapReduce 框架 Yarn 详解

  Demo 部署及运行

  Demo 输入输出的控制

  本 demo 中我们将从 Weblogic 日志目录中拷贝原始待处理日志文件作为 Yarn 程序的输入,使用 hadoop dfs 命令将其放入分布式目录的 input 目录,处理完后将生成以时间戳为文件目录后缀的输出目录

  Weblogic 日志存放的原始目录位于:/u01/app/Oracle/Middleware/user_projects/domains/test_domain/AdminServer/logs

  分布式文件系统中的输入目录:/user/oracle/dfs/input

  分布式文件系统中的输出目录:/user/oracle/dfs/output_%YYYY-MM-DD-hh-mm%

  Demo 打包和部署

  可以使用 JDeveloper 或者 Eclipse 等 IDE 工具将开发的 Hadoop Demo 代码打包为 jar,并指定 Main 类为 LoyAnalyze,本文中我们采用 JDeveloper 打包 Demo 代码,如下图示例:

Hadoop 新 MapReduce 框架 Yarn 详解
▲Yarn Demo 程序打包示例

  Demo 执行与跟踪

  我们在 OEL 主机(NameNode&ResourceManager 主机,192.168.137.8)上启动 dfs 分布式文件系统:

Hadoop 新 MapReduce 框架 Yarn 详解
▲ 启动 Demo dfs 文件系统

  从上图可以看出 dfs 分布式文件系统已经在 OEL 和 Stephen 主机上成功启动,我们通过默认的分布式文件系统 Web 监控 端口 http://192.168.137.8:50070(也可以在上文中 core-site.xml 中配置 dfs.namenode.http-address 项指定其他端口 ) 来验证其文件系统情况:

Hadoop 新 MapReduce 框架 Yarn 详解
▲hadoop 文件系统 web 监控页面

  从上图中我们可以看到 /user/oracle/dfs 分布式文件系统已成功建立。

  接下来我们在 NameNode 主机(OEL,192.168.137.8)上启动 Yarn 框架:

Hadoop 新 MapReduce 框架 Yarn 详解
▲ 启动 Demo Yarn 框架

  从上图我们可以看到 ResouceManager 在 OEL 主机上成功启动,NodeManager 进程在 Stephen 节点主机上也已经启动,至此整个新的 Hadoop Yarn 框架已经成功启动。

  我们将打好的 testHadoop.jar 包上传至 NameNode 主机(OEL)的 /hadoop/hadoop-0.23.0/ 根目录下,我们使用 Hadoop 自带的 hadoop 命令行工具执行 Demo 的 jar 包,具体步骤为,先使用 hadoop dfs 命令将输入文件(weblogic 原始日志)拷贝至 dfs 分布式目录的 input 输入目录,清理 dfs 分布式目录下的 output 输出子目录。然后使用 hadoop jar 命令执行 testHadoop 的 jar 包。

  执行 Demo 的 shell 脚本示例如下:

./bin/hadoop dfs -rmr /user/oracle/dfs/output*
.
/bin/hadoop dfs -rmr /user/oracle/dfs/input
.
/bin/hadoop dfs -mkdir /user/oracle/dfs/input
.
/bin/hadoop dfs -copyFromLocal ./input/*.log /user/oracle/dfs/input/
.
/bin/hadoop jar ./hadoopTest.jar /hadoop/hadoop-0.23.0/input
/hadoop/hadoop-0.23.0/output
0
相关文章