你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop 新 MapReduce 框架 Yarn 详解

[日期:2013-09-14] 来源:IBM  作者:唐 清原 [字体: ]

Hadoop Yarn 框架 Demo 示例

Demo 场景介绍:Weblogic 应用服务器日志分析

了解了 hadoop 新的 Yarn 框架的架构和思路后,我们用一个 Demo 示例来检验新 Yarn 框架下 Map-Reduce 程序的开发部署。

我们考虑如下应用场景:用户的生产系统由多台 Weblogic 应用服务器组成,每天需要每台对应用服务器的日志内容进行检查,统计其日志级别和日志模块的总数。

WebLogic 的日志范例如下图所示:


图 3.Weblogic 日志示例
图 3.Weblogic 日志示例

如上图所示,<Info> 为 weblogic 的日志级别,<Security>,<Management> 为 Weblogic 的日志模块,我们主要分析 loglevel 和 logmodule 这两个维度分别在 WebLogic 日志中出现的次数,每天需要统计出 loglevel 和 logmodule 分别出现的次数总数。

Demo 测试环境 Yarn 框架搭建

由于 Weblogic 应用服务器分布于不同的主机,且日志数据量巨大,我们采用 hadoop 框架将 WebLogic 各个应用服务器主机上建立分布式目录,每天将 WebLogic 日志装载进 hadoop 分布式文件系统,并且编写基于 Yarn 框架的 MapReduce 程序对日志进行处理,分别统计出 LogLevel 和 Logmodule 在日志中出现的次数并计算总量,然后输出到分布式文件系统中,输出目录命名精确到小时为后缀以便区分每次 Demo 程序运行的处理结果。

我们搭建一个 Demo 测试环境以验证 Yarn 框架下分布式程序处理该案例的功能,以两台虚拟机作为该 Demo 的运行平台,两机均为 Linux 操作系统,机器 hostname 为 OEL 和 Stephen,OEL 作为 NameNode 和 ResouceManager 节点主机,64 位,Stephen 作为 DataNode 和 NodeManager 节点主机,32 位(Hadoop 支持异构性), 具体如下:


表 3.Demo 测试环境表

主机名角色备注
OEL(192.168.137.8) NameNode 节点主机
ResourceManager 主机
linux 操作系统
32bit
Stephen(192.168.l37.2) DataNode 节点主机
NodeManager 主机
linux 操作系统
64bit

 

我们把 hadoop 安装在两台测试机的 /hadoop 文件系统目录下,安装后的 hadoop 根目录为:/hadoop/hadoop-0.23.0,规划分布式文件系统存放于 /hadoop/dfs 的本地目录,对应分布式系统中的目录为 /user/Oracle/dfs

我们根据 Yarn 框架要求,分别在 core-site.xml 中配置分布式文件系统的 URL,详细如下:


清单 1.core-site.xml 配置

				
 <configuration> 
   <property> 
   <name>fs.defaultFS</name> 
   <value>hdfs://192.168.137.8:9100</value> 
   </property> 
 </configuration> 

 

在 hdfs-site.xml 中配置 nameNode,dataNode 的本地目录信息,详细如下:


清单 2.hdfs-site.xml 配置

				
 <configuration> 
 <property> 
  <name>dfs.namenode.name.dir</name> 
  <value>/hadoop/dfs/name</value> 
  <description>  </description> 
 </property> 

 <property> 
  <name>dfs.datanode.data.dir</name> 
  <value>/hadoop/dfs/data</value> 
  <description> </description> 
 </property> 

 <property> 
   <name>dfs.replication</name> 
   <value>2</value> 
 </property> 

 </configuration> 

 

在 mapred-site.xml 中配置其使用 Yarn 框架执行 map-reduce 处理程序,详细如下:


清单 3.mapred-site.xml 配置

				
 <configuration> 
  <property> 
  <name>mapreduce.framework.name</name> 
  <value>Yarn</value> 
  </property> 
 </configuration> 

 

最后在 Yarn-site.xml 中配置 ResourceManager,NodeManager 的通信端口,web 监控端口等,详细如下:


清单 4.Yarn-site.xml 配置

				
 <?xml version="1.0"?> 
 <configuration> 

 <!-- Site specific YARN configuration properties --> 
  <property> 
  <name>Yarn.nodemanager.aux-services</name> 
  <value>mapreduce.shuffle</value> 
  </property> 
  <property> 
  <description>The address of the applications manager interface in the RM.</description> 
  <name>Yarn.resourcemanager.address</name> 
  <value>192.168.137.8:18040</value> 
  </property> 

  <property> 
  <description>The address of the scheduler interface.</description> 
  <name>Yarn.resourcemanager.scheduler.address</name> 
  <value>192.168.137.8:18030</value> 
  </property> 

  <property> 
  <description>The address of the RM web application.</description> 
  <name>Yarn.resourcemanager.webapp.address</name> 
  <value>192.168.137.8:18088</value> 
  </property> 
  
  <property> 
  <description>The address of the resource tracker interface.</description> 
  <name>Yarn.resourcemanager.resource-tracker.address</name> 
  <value>192.168.137.8:8025</value> 
  </property> 
 </configuration> 

 

具体配置项的含义,在 hadoop 官方网站有详细的说明,读者可以参见 hadoop 0.23.0 官方配置模板。

linux
相关资讯       Hadoop MapReduce  MapReduce框架  MapReduce Yarn 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款