Hadoop 2.0基本术语解释

大数据 Hadoop
在阅读Hadoop 2.0的相关资料时,很多人将一些概念混淆了,本文将对Hadoop 2.0涉及到的术语进行比较全面的介绍。

(1) Hadoop 1.0

第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中,HDFS由一个NameNode和多个DataNode组成,MapReduce由一个JobTracker和多个TaskTracker组成,对应Hadoop版本为Hadoop 1.x和0.21.X,0.22.x。

(2) Hadoop 2.0

第二代Hadoop,为克服Hadoop 1.0中HDFS和MapReduce存在的各种问题而提出的。针对Hadoop 1.0中的单NameNode制约HDFS的扩展性问题,提出了HDFS Federation,它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展;针对Hadoop 1.0中的MapReduce在扩展性和多框架支持方面的不足,提出了全新的资源管理框架YARN(Yet Another Resource Negotiator),它将JobTracker中的资源管理和作业控制功能分开,分别由组件ResourceManager和ApplicationMaster实现,其中,ResourceManager负责所有应用程序的资源分配,而ApplicationMaster仅负责管理一个应用程序。对应Hadoop版本为Hadoop 0.23.x和2.x。

(3) MapReduce 1.0或者MRv1(MapReduce version 1)

第一代MapReduce计算框架,它由两部分组成:编程模型(programming model)和运行时环境(runtime environment)。它的基本编程模型是将问题抽象成Map和Reduce两个阶段,其中Map阶段将输入数据解析成key/value,迭代调用map()函数处理后,再以key/value的形式输出到本地目录,而Reduce阶段则将key相同的value进行规约处理,并将最终结果写到HDFS上。它的运行时环境由两类服务组成:JobTracker和TaskTracker,其中,JobTracker负责资源管理和所有作业的控制,而TaskTracker负责接收来自JobTracker的命令并执行它。

(4)MRv2(MapReduce version 2)

MapReduce 2.0或者MRv2具有与MRv1相同的编程模型,唯一不同的是运行时环境。MRv2是在MRv1基础上经加工之后,运行于资源管理框架YARN之上的MRv1,它不再由JobTracker和TaskTracker组成,而是变为一个作业控制进程ApplicationMaster,且ApplicationMaster仅负责一个作业的管理,至于资源的管理,则由YARN完成。

简而言之,MRv1是一个独立的离线计算框架,而MRv2则是运行于YARN之上的MRv1。

(5) MapReduce 2.0或者YARN或者NextGen MapReduce

Hadoop 2.0中的资源管理框架,它是一个框架管理器,为各种框架进行资源分配和提供运行时环境。而MRv2则是运行在YARN之上的第一个计算框架,其他计算框架,比如Spark、Storm等,都正在往YARN上移植。YARN类似于几年前的资源管理系统mesos和更早的Torque。

(6) HDFS Federation

Hadoop 2.0中对HDFS进行了改进,使NameNode可以横向扩展成多个,其中,每个NameNode分管一部分目录,这不仅增强了HDFS的扩展性,也使HDFS具备了隔离性。

【参考资料】

Cloudera blog:http://blog.cloudera.com/blog/2012/10/mr2-and-yarn-briefly-explained/

原文链接:http://dongxicheng.org/mapreduce-nextgen/hadoop-2-0-terms-explained/

【编辑推荐】

  1. 小白学数据分析:怎么做流失分析
  2. 小白学数据分析之K-means理论篇
  3. 小白学数据分析之从购买记录分析道具支付环节
  4. 小白学数据分析之付费渗透率
  5. 小白学数据分析之Excel制作INFOGRAPHIC
责任编辑:彭凡 来源: 董的博客
相关推荐

2011-10-10 14:30:22

刷机刷系统手机

2021-01-27 05:44:00

Consul术语命令

2011-02-22 13:17:44

2010-06-07 13:02:46

Hadoop简介

2018-11-01 08:58:28

物联网术语IOT

2019-06-19 09:00:00

GitLinux开源

2014-02-12 14:12:29

2010-09-13 13:27:25

CSS滤镜

2022-01-06 09:41:45

区块链比特币技术

2012-05-28 09:23:40

JavaHadoopApache

2009-06-12 08:54:22

EJB术语J2EE

2009-02-04 09:11:52

Web2.0术语FTW

2012-03-19 10:41:15

JavaSocket

2011-04-14 11:28:07

光纤

2017-03-22 20:21:16

Hadoop框架分布式

2009-04-14 09:35:33

.NETCLR术语

2020-05-13 16:54:05

JavaScript开发代码

2013-05-27 14:31:34

Hadoop 2.0

2013-05-28 09:12:59

Hadoop 2.0

2023-09-14 07:07:31

敏感性专业术语视觉
点赞
收藏

51CTO技术栈公众号