Hadoop1x與Hadoop2的区别.docxVIP

  • 5
  • 0
  • 约4.68千字
  • 约 7页
  • 2016-11-26 发布于重庆
  • 举报
Hadoop1x與Hadoop2的区别

HYPERLINK /fenglibing/article/detailsHadoop入门进阶步步高(六)-Hadoop1.x与Hadoop2的区别 分类:? HYPERLINK /fenglibing/article/category/1826379 大数据?|2014-06-21 12:35 |294人阅读 六、Hadoop1.x与Hadoop2的区别 1、变更介绍 Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更: l?HDFS的NameNodes可以以集群的方式布署,增强了NameNodes的水平扩展能力和可用性; l?MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(Yet?Another?Resource?Negotiator)。 1.1、HDFS的变化?-?增强了NameNode的水平扩展及可用性 1.1.1、Hadoop的1.X架构的介绍 而在1.x中的NameNodes只可能有一个,虽然可以通过SecondaryNameNode与NameNode进行数据同步备份,但是总会存在一定的时延,如果NameNode挂掉,但是如果有部份数据还没有同步到SecondaryNameNode上,还是可能会存在着数据丢失的问题。 架构如下: 包含两层: Namespace l?包含目录、文件以及块的信息 l?支持对Namespace相关文件系统的操作,如增加、删除、修改以及文件和目录的展示 Block?Storage?Service包含两部份 l?块管理(在Namenode中实现的) 提供数据节点群集成员的登记,并定期通过心跳进行检查。 提供块报告以及块的存储位置的维护 提供对块的操作,如对块进行增删改的操作及获取块的存储地址 对块的复本的的复制以及存储位置的管理 l?存储?-?提供Datanode进行数据的本地存储,并提供读写的操作 1.1.1、Hadoop的2.X架构的介绍 在2.X中,HDFS的变化,主要体现在增强了NameNode的水平扩展及可用性,可以同时部署多个NameNode,这些NameNodes之间是相互独立,也就是说他们不需要相互协调,DataNode同时在所有NameNodes注册,做为他们共有的存储节点,并向定时向所有的这些NameNodes发送心跳块使用情况的报告,并处理所有NameNodes向其发送的指令。 架构如下: ? 存储块池(Block?Pool) 一个存储块池是由一组存储块组成,它属于一个单独的Namespace(Namenode),集群中所有存储块池的存储块都是存放在Datanodes中的。每个存储块池与其它的存储块池都是独立管理的,因而其在为新的块生成Block?IDs时,就不需要与其它Namespace(Namenode)中的存储块池进行协作,即使一个Namespace(Namenode)挂掉了,也不会使得Datanodes中的块被访问不到,因为其它Namespace(Namenode)中的存储块池也存放了Datanodes中所有存储块的信息。 一个命名空间(Namespace)和它的块池一起被称为命名空间向量。它是一个自包含的管理单元。当一个Namenode/namespace被删除,存储于Datanodes中的相应的存储块池也会被删除掉,在集群的更新过程中,每个命名空间向量都是以一个整体进行升级的。 ? 集群ID(ClusterID) 集群ID的加入,是用于确认集群中所有的节点,也可以在格式化其它Namenodes时指定集群ID,并使其加入到某个集群中。 ? 1.2、MapReduce拆分JobTracker为资源管理及任务生命周期管理两个独立的组件 MapReduce在Hadoop2中称为MR2或YARN,将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的服务,用于管理全部资源的ResourceManager以及管理每个应用的ApplicationMaster,ResourceManager用于管理向应用程序分配计算资源,每个ApplicationMaster用于管理应用程序、调度以及协调。一个应用程序可以是经典的MapReduce架构中的一个单独的任务,也可以是这些任务的一个DAG(有向无环图)任务。ResourceManager及每台机上的NodeManager服务,用于管理那台机的用户进程,形成计算架构。每个应用程序的ApplicationMaster实际上是一个框架具体库,并负责从ResourceManage

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档