CDH 4.6 Apache Hadoop的下一代mapreduce,yarn

10 篇文章 0 订阅
4 篇文章 0 订阅

Mapreduce已经在hadoop-0.23中包含了我们称之为MapReduce 2.0 (MRv2) or YARN的架构。

MRv2的基本思想是将JobTracker分为了两个主要功能,即resource management和job scheduling/monitoring。目的是有全局的ResourceManager (RM),和适用于每个应用的ApplicationMaster (AM)。每个mr job或DAG job都是一个简单的job。

ResourceManager 以及每个slave的NodeManager组成了数据计算框架。ResourceManager 是统一的在系统应用之间的授权框架。

每个节点的 ApplicationMaster 实际上是框架特定的库,目标是协调ResourceManager的资源调配和NodeManager(s)一起来执行任务并监督管理tasks。

ResourceManager 有Scheduler 和ApplicationsManager两个组件。

Scheduler 用来根据容量,队列等的限制来负责为不同的运行applications分配资源。Scheduler 只单纯来调配而不关心监督或跟踪应用状态,并且也不会由于应用或硬件故障而重启失败的tasks。Scheduler 依据应用的资源需求,以及包含内存,cpu,硬盘,网络等情况的resourceContainer 的理论数据来调配功能;而在yarn的第一版近支持内存。

Scheduler 有一个可插入的策略plug-in,负责在不同的各种类型的队列,应用等之间分配集群资源。当前mr schedulers 例如CapacityScheduler ,FairScheduler 就是充当了 plug-in的功能。

CapacityScheduler 支持分层队列来允许集群资源预分配。

ApplicationsManager 负责接收任务提交,协调执行特定任务的指定的ApplicationMaster 的容器,提供重启失败ApplicationMaster 容器的服务。

NodeManager 是每个机器的框架代理来负责容器,监督资源(cpu,内存,硬盘,网络)使用,并且报告给ResourceManager/Scheduler。

每个应用的ApplicationMaster 也有协调队列中的特定的资源容器,跟踪状态,监督进程的功能。

mrv2保持与以前的稳定版本的API兼容(hadoop-0.20.205)。这意味着所有的mr工作不需要改变仍然运行在mrv2的架构上面,只重新编译。

在CDH中,采用mrv1架构的应用和mrv2架构的应用采用不同的jar包,就是基于上面的考虑。


在apache hadoop的不同版本中,支持mrv1或者mrv2,他们的采用的体系架构发生了变化,采用mrv2架构中,必须配置yarn,在这个上面运行mr任务,这个时候体系发生了大的改变,相应的jar包也变化了。

在CDH4.6的结构中,支持mapreduce的两种配置,即1和2,选择不同的架构,选用的jar包也不一样,详细见表,则在设置环境变量的时候,需要根据版本不同,设置不同的环境变量。将HADOOP_MAPRED_HOME指向不同的位置,这里涉及到其他版本的设置,例如hive的选择,因为他是基于不同mapreduce设置的。

如果选择mrv1,则设置HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce,如果选择mrv2,则设置HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce。

Name

MRv1 location

YARN location

streaming

/usr/lib/hadoop-0.20-mapreduce/contrib/streaming/
hadoop-streaming-2.0.0-mr1-cdh<version>.jar
/usr/lib/hadoop-mapreduce/
hadoop-streaming.jar

rumen

N/A

/usr/lib/hadoop-mapreduce/
hadoop-rumen.jar

hadoop examples

/usr/lib/hadoop-0.20-mapreduce/
hadoop-examples.jar
/usr/lib/hadoop-mapreduce/
hadoop-mapreduce-examples.jar

distcp v1

/usr/lib/hadoop-0.20-mapreduce/
hadoop-tools.jar
/usr/lib/hadoop-mapreduce/
hadoop-extras.jar

distcp v2

N/A

/usr/lib/hadoop-mapreduce/
hadoop-distcp.jar

hadoop archives

/usr/lib/hadoop-0.20-mapreduce/
hadoop-tools.jar
/usr/lib/hadoop-mapreduce/
hadoop-archives.jar





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值