admin 管理员组文章数量: 887016
Yarn产生的历史背景
Yarn产生的历史背景
Hadoop是apache基金会的一个项目, 目的是开发一个开源软件,用于可靠的可扩展的,分布式的计算。
Hadoop不是一个软件,而是一个软件库,hadoop作为一个软件库,提供了一个框架,可以以分布式的方式,在集群的多台主机之间,使用简单的编程模型来处理大量的数据集。Hadoop被设计成可以从单主机扩展到数千台主机,并且支持本地计算和存储。
Hadoop本身被设计成可以在应用层面检测和处理底层的硬件故障,以实现高可用性,而不是由底层硬件来完成故障的检查。
1.Hadoop中的主要项目:
a.Hadoop Common(从0.20开始讲Core项目改名为Common项目)
为Hadoop的其他项目提供一些常用的工具,包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem
b.Hadoop Distributed File System (HDFS)
Hadoop体系中数据存储管理的基础,实现了对应用成语大吞吐量的访问。
c.Hadoop YARN
作业调度和集群资源管理的一个框架
d.Hadoop MapReduce
基于YARN的一个系统,用于并行处理大量的数据集。
2.Hadoop演进 的四大阶段
阶段0:Ad Hoc集群时代
A.Ad hoc集群出现之前,用户使用Hadoop与普通的桌面应用方式类似
a) 几个节点上创建集群
b) 载入数据至HDFS,运行MapReduce任务,得到结果
c) 拆掉集群
B. 原因:
a) 没有在HDFS持久存储数据的需求
b) 没有共享数据和计算结果的动机.
C.Yahoo实现了共享的HDFS实例,迫切要求实现共享的计算平台.
阶段1:Hadoop onDemand
A. HOD是一个能在商用硬件的共享集群上提供和管理Hadoop MapReduce和HDFS实例的系统
B. 使用Torque资源管理器和集群调度器(Maui)分配集群
C. 并且在分配的节点上启动MapReduce和HDFS的守护进程相应用户数据和应用请求
D. 典型的HOD会话:分配一个集群、在其上运行Hadoop作业,释放集群 E. HOD的特点及优势
a) HOD为每一个作业建立一个新的集群,当开发人员测试新特性时,用户可以使用稳定的Hadoop版本。
b) Hadoop社区每3个月发布一个修订版,为保证软件的正常升级,要求HOD具有相当的灵活性
F. HOD的限制:任何时刻集群的每一个节点只属于一个用户的Hadoop集群 G. HOD的缺点: a) 第一个缺点
i. 资源管理器Torque不知道HDFS块的分布,分配集群节点是无法考虑到本地化
ii. 所以Hadoop中的某些作业,由于Torque得不到足够的信息,大多数读操作会从远程主机处获取
iii. 虽然做了一些改进,但是收获不大,最终Yahoo停用了HOD
b) 第二个缺点:
i. HOD单个作业或者作业之间的阶段集群的规模不能调整,所以集群在容量的主要部分在大多数时间是空闲的,等待后续轻量阶段的完成
ii. 极端但是常见的例子:运行在一个节点上的Reduce任务可能会导致数百节点组成的集群无法回收而处于空闲状态
阶段2:共享计算集群的黎明
A. 共享计算集群MapReduce
a) 特性:
i. 中央Jobtracker守护进程
ii. JobTracker内存管理
iii. 已完成作业的管理
iv. 中央调度器:Capacity(容量)调度器和Fair(公平)调度器
v. 数据的回复和升级
vi. 单个节点的隔离
vii. 身份认证和访问控制
B. 共享计算集群MapReduce和与之协同工作的共享HDFS实例是Hadoop1.x版本的主要架构
C. 共享计算架构包括两大核心组件:
a) JobTracker:一个中央守护进程,负责管理集群上的所有作业,索然和HOD中为单用户作业的进程一样,到时多了一些额外的功能
b) TaskTracker:系统的从进程,根据JobTracker的指令来执行任务,和HOD中的守护进程也是一样的,不同的是TaskTracker负责运行来自所有用户的作业。
D. MapReduce的问题
a) 问题一
i. 可扩展性瓶颈
ii. 可靠性和可用性
iii. MapReduce编程模型的滥用
b) 问题二
i. 资源模型,map槽和Reduce槽是固定的,但是两种任务未必能以相同的速率完成
阶段3:YARN的出现
A. 以前遇到的问题迫切要求新模型的诞生
B. 新的架构和相关实现尽量重用现有框架的代码、相似的操作模式,并未现有的MapReduce用户提供相同的接口
四大阶段都必须满足的要求
要求1:可扩展性,可以平滑地扩展至数万节点和并发的应用
要求2:可维护性,保证集群软件的升级与用户应用程序完全解耦
要求3:多租户,需要支持在同一个集群中多个租户并存,同时支持多个租户之间细粒度地共享单个节点
要求4:位置感知,将计算移动到数据所在位置
要求5:高集群使用率,实现底层物理资源的高使用率
要求6:安全和可审计的操作,继续以安全的、可审计的方式使用集群资源
要求7:可靠性和可用性,举要高度可靠的用户交互,病支持高可用性
要求8:对编程模型多样性的支持,支持多样化的编程模型,并需要演进为不仅仅以MapReduce为中心
需求9:灵活的资源模型,支持各个节点的动态资源配置以及灵活的资源模型
需求10:向后兼容,保持现有MapReduce应用程序的向后兼容
本文标签: Yarn产生的历史背景
版权声明:本文标题:Yarn产生的历史背景 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732355815h1534404.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论