您的位置:首页 > 运维架构

HADOOP2.0 YARN (转)

2013-07-10 12:45 218 查看
Hadoop 2.0



2.0中间加了一层YARN

由HDFS、MapReduce和YARN三个分支构成;
 HDFS:NN Federation、HA;
MapReduce:运行在YARN上的MR;
YARN:资源管理系统

YARN产生背景
1.直接源于MRv1在几个方面的无能
扩展性受限
单点故障
难以支持MR之外的计算
2.多计算框架各自为战,数据共享困难
MR:离线计算框架
Storm:实时计算框架
Spark:内存计算框架

===============================================

YARN基本架构





ResourceManager
处理客户端请求
启动/监控ApplicationMaster
监控NodeManager
资源分配与调度
NodeManager
单个节点上的资源管理
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令
ApplicationMaster(以MRAppMaster为例)
数据切分
为应用程序申请资源,并分配给内部任务
任务监控与容错
===============================================

多角度理解YARN
单机并行计算角度





云计算角度



集群管理系统角度



集群管理系统角度



集群管理系统角度(好处)
资源利用率高
运维成本降低
数据共享

=========================================
YARN发展现状与趋势
目前位于alpha版
多种系统正在往YARN上转移
调度模型和资源隔离等方面存在不足,多种系统不易运行在YARN上

运行在YARN上的软件



应用场景分类,目前主要还是HIVE



==============================================
运行在YARN上带来的好处

一个集群部署多个版本
计算资源按需伸缩
不同负载应用混搭,集群利用率高
共享底层存储,避免数据跨集群迁移

调度模型
支持CPU和内存两种资源调度;
Resource-centric Scheduling(NOT Task-centric Scheduling)



==================================================

资源隔离
支持CPU和内存两种资源隔离
.采用Cgroups对CPU隔离
.采用线程监控内存方案(借鉴MRv1)

MapReduce与YARN
目前MapReduce有两个版本:独立版和YARN版;
独立版运行时环境由JobTracker、TaskTracker、MapTask、ReduceTask等组成;
YARN版MapReduce只能运行在YARN上,不能独立部署运行。


MapReduce与YARN
MRv1由编程接口,调度环境(JobTracker和TaskTracker)和任务处理引擎(MapTask和ReduceTask)三部分组成;
YARN重用了MRv1的调度器,黑白名单机制、部分资源隔离机制;
YARN版MapReduce(代码级)重用了MRv1的编程接口和任务处理引擎;
旧API编写的MR作业可直接运行在YARN版MapReduce上,但新API则不可以


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: