当前位置: 首页 > 科技观察

Hadoop1.0和Hadoop2.0的区别

时间:2023-03-19 16:07:19 科技观察

1.什么是Hadoop1.0?Hadoop1.0是第一代Hadoop,指的是Hadoop与ApacheHadoop0.20.x、1.x或CDH3系列。内核主要由两个系统组成:HDFS和MapReduce。MapReduce是一个离线处理框架,由三部分组成:编程模型(新旧API)、运行环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)。2、什么是Hadoop2.0?Hadoop2.0是Hadoop的第二代,指的是ApacheHadoop0.23.x、2.x或CDH4系列的Hadoop版本。内核主要由三个系统组成:HDFS、MapReduce和YARN。其中,YARN是负责集群资源管理和调度的资源管理系统。MapReduce是一个运行在YARN上的离线处理框架。它在编程模型(新旧API)和数据处理引擎(MapTask和ReduceTask)方面兼容Hadoop1.0中的MapReduce。两个方面都是一样的。三、两者的区别1、从Hadoop的整体框架来看,Hadoop1.0由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个DateNode组成,MapReduce由一个JobTracker和多个TaskTrackers组成。Hadoop2.0针对Hadoop1.0的不足做了如下改进:(1)针对Hadoop1.0单NameNode限制HDFS的扩展性问题,提出HDFSFederation,允许多个NameNode管理不同的目录,实现访问隔离和水平扩展,同时彻底解决NameNode单点故障问题;(2)鉴于Hadoop1.0中MapReduce缺乏扩展性和多框架支持,将JobTracker中的资源管理和作业控制分开,分别由ResourceManager(负责所有应用的资源分配)和ApplicationMaster(负责managinganapplication)实现,即引入资源管理框架Yarn。(3)Yarn作为Hadoop2.0中的资源管理系统,是一个通用的资源管理模块,可以为各种应用管理和调度资源。不局限于MapReduce框架,也可以用于其他框架,如Tez、Spark、Storm等。2、从MapReduce计算框架来看,MapReduce1.0计算框架主要由以下部分组成三部分:编程模型、数据处理引擎和运行环境。它的基本编程模型是将问题抽象为Map和Reduce两个阶段。在Map阶段,将输入数据解析成key/value,迭代调用map()函数进行处理,然后以key/value的形式输出到本地目录在Reduce阶段,将带有处理相同的key,最终结果写入HDFS;其数据处理引擎由MapTask和ReduceTask组成,分别负责Map阶段和Reduce阶段的逻辑处理;它的运行环境由一个JobTracker和几个TaskTracker两类服务组成。JobTracker负责资源管理和所有作业的控制,TaskTracker负责接收来自JobTracker的命令并执行。MapReducer2.0与MRv1具有相同的编程模型和数据处理引擎,唯一不同的是运行环境。MRv2是在MRv1的基础上处理后运行在资源管理框架Yarn上的计算框架MapReduce。它的运行环境不再由JobTracker、TaskTracker等服务组成,而是变成了通用的资源管理系统Yarn和作业控制进程ApplicationMaster,其中Yarn负责资源管理调度,ApplicationMaster负责作业管理。Hadoop1和Hadoop2的区别还是很大的。HDFS和MR不同,最小配置文件不同。项目应用,建议尽量上高版本。如果比较稳定,比最新版本稍微低一点的稳定版就可以了。【本文为专栏作者“朱国立”原创稿件,转载请通过作者微信公众号“开发者圆桌”联系授权】点此查看本作者更多好文