HADOOP2.0 YARN (转)
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则不可以 |