En 400-6655-581
3
返回列表
> 走进派拉 > 新闻资讯 > 技术干货 > 技术干货 | 大数据指北系列-Hadoop3.X探秘

技术干货 | 大数据指北系列-Hadoop3.X探秘

2019-11-29
前言


大数据技术从2004年开始诞生到现在已经发展15年了,2008年进入中国,从此以后在中国落地生根,成为了互联网公司和科技企业的技术新宠。Hadoop到目前已经是第四代技术,当前最新是的Hadoop 3.X的架构,但目前而言国内应用的企业并不多。本文将详细介绍Hadoop发展情况,Hadoop各代技术之间的功能特性以及对比细节,揭开Hadoop 3.X这块神秘的面纱。


Hadoop发展史


首先,先回顾一下Hadoop技术架构的发展史:



Hadoop总共经历了Hadoop 0.x, Hadoop 1.X, Hadoop 2.x以及目前的3.X四个阶段:


Hadoop 0.X目前第一个可追溯的版本(官方开放版)为0.14.1,推出时间为2007年9月4日。

最后一个版本为0.23.11版,推出时间为2014年1月7日。


Hadoop 1.X是以Hadoop 0.20的版本进行代码分支延伸出来的,第一个版本为1.0.0,推出时间为2011年12月27日。

最后一个版本为1.2.1,于2013年8月1日推出。


Hadoop2.X开始,第一个推出的版本开始有了alpha/beta release以及GA release的差别。通常来说,alpha/beta release为测试版本,GA release为正式版本。

Hadoop2.X是在Hadoop 0.23.1的版本上进行代码分支延伸出来的,第一个alpha版本是2.0.0,推出时间是2012年5月23日,由于要从1.X换到新的2.X架构,代码要调整的内容实在太多,因此正式放出GA release的时间到了一年后,即2013年10月15日,第一个GA release版本为2.2.0。

当前的最新版本为2.9.2,推出时间为2018年11月19日,至今已有近一年未更新了,也许这是Hadoop 2.X的最后一个版本。

目前市场上用的最多的版本为2.6.0,该版本于2014年11月18日推出。


Hadoop 3.X在Hadoop2.7.0的版本上进行代码分支延伸出来的,第一个alpha版本3.0.0,推出时间是2016年9月3日,正式推出GA版本也是到了一年以后,即2017年12月13日,首个正式的GA release版本为3.0.0.

当前的最新版本为3.2.1,于2019年9月22日推出。


而和Hadoop发展史相对应的,当前市场情况为:


Hadoop 0.X目前国内用户几乎没有。


Hadoop1.X是寿命最短的一代技术架构,存活了还不到2年,因此用户很少;


Hadoop 2.X技术发展周期最长,历时了六年多,加上这六年正好是国内大数据浪潮掀起的六年,因此目前几乎90%以上的用户都选择使用了Hadoop 2.X技术架构。


Hadoop 3.X来势汹汹,但毕竟推出晚,目前积累的客户量太少,不过必将成为未来主流趋势。


四代Hadoop技术架构的技术特点


Hadoop既然目前已经是第四代技术,那么每代技术的差异点是什么呢?


Hadoop 0.X与Hadoop 1.X


Hadoop 0.X是第一代Hadoop技术架构,功能设计很简单,这个版本bug非常多,所以非常不好用。而Hadoop 1.X对此进行了一些功能丰富,可用性强了一些,具体来说,有以下区别:


友好度方面

Hadoop 0.X为纯源码包,必须经过编译后才能使用,另外由于bug较多,编译过程也比较繁琐。

Hadoop 1.X既提供了源码包又提供了编译好的二进制包,为部分用户节约了编译成本,增加了使用友好度。


功能方面

Hadoop 0.X只有hdfs与mapreduce两个模块功能。

Hadoop 1.X 除了hdfs与mapreduce模块以外,增加了对HBase整合支持,使得Hbase可以将数据存储在hdfs上,并利用mapreduce进行计算。

Hadoop 1.X增加了对安全性模块的支持。


其他产品

CDH2/CDH3均由Hadoop1.0.0版本衍生而来。


Hadoop 1.X与Hadoop 2.X


Hadoop 1.X已经为Hadoop技术商用提供了可能性,但是因为其功能的局限性,在Hadoop 2.X推出后就迅速销声匿迹了。两者相比,有以下区别:


JDK支持

Hadoop 1.X 仅支持jdk6的运行环境。

Hadoop 2.X 则要求jd6或jdk7+的运行环境,并且在2.7以后的版本不再支持JDK6。


功能方面

Hadoop 1.X 之前同一集群HDFS服务中只能支持一个NameNode, 不仅扩展受限,而且容易形成单点故障。


HDFS 1.X架构


Hadoop 2.X 则增加HA架构和HDFS Federation机制,即数据联邦机制,这使得在一个集群的HDFS服务中,可以同时运行两个NameNode,增加了可用性。同时数据联邦机制让大量DataNode同时服务于多个集群的HDFS服务,提高存储资源的利用效率,也增加了横向扩展的能力。



HDFS2.X架构


Hadoop 1.X 的mapreduce由TaskTracker与JobTracker两个服务组成,由一个JobTracker同时管理多个TaskTracker。这样的架构有几个问题:由于只有一个JobTracker,容易形成单点故障;容错性与稳定性不足,TaskTracker与JobTracker通信故障易造成两方都僵死;同时缺乏对计算资源的有效管理。



mapreduce1.0架构


Hadoop 2.X引入了YARN框架,并将原来的mapreduce计算框架加以改进形成稳定性更好,计算性能更优秀,具备高可用能力的MRv2计算框架,原有的TaskTracker与JobTracker替代为ResourceManager与NodeManager,并内置到YARN中;除此之外YARN还有资源调度和管理能力,做到了把资源和计算整合到了一起。


YARN架构


Hadoop 2.4以后支持HDFS滚动升级。

Hadoop 2.5以后YARN开始支持Rest API。

Hadoop 2.5以后YARN支持Kerberos集成。

Hadoop 2.5以后YARN支持队列资源管理(CDH动态资源池的实现前提)。


其他产品


CDH4由Hadoop 2.0.0版本衍生而来。

CDH5由Hadoop 2.3.0版本开始衍化,并有以下的对应关系:




Hadoop 2.X与Hadoop 3.X


Hadoop3.0.0的GA release到目前已经推出一年多了,虽然国内用户不多,但是其代表了Hadoop当前的发展趋势,已经逐渐被很多企业小规模试用。Hadoop 2.X与Hadoop 3.X两者相比,有以下区别:


JDK支持

Hadoop 2.X 可以运行在jd6或jdk7+的运行环境,以2.7版本为分界线。

Hadoop 3.X 则从第一个版本3.0.0开始,只支持jdk8。


功能方面

Hadoop以多冗余副本的机制保障数据的可靠性。在Hadoop 2.X及之前,通常要设立3副本来实现,这个设计最大的问题在于数据量增加到一定程度后,存储空间冗余特别严重,达到200%。


Hadoop 3.X开始引入了EC机制(Erasure Code纠删码机制),利用数据块与奇偶校验块计算来保障数据的可用性,EC码目前有五种策略,包括RS-3-2-1024k,RS-6-3-1024k,RS-10-4-1024k,RS-LEGACY-6-3-1024k,XOR-2-1- 1024k。


通常情况下使用XOR-2-1- 1024k策略,即两个数据块+1个校验块即可,存储冗余量为50%,相较于Hadoop 2.X的200%,整体上节约了一半空间。


异或操作(XOR-2-1- 1024k策略)


当然纠删码和数据冗余的问题还有很多细节需要讨论,会在后续文章中进行展开,请持续关注。


Hadoop 2.X当前只支持双NameNode的HA模式,即一个Active NameNode+一个Standby NameNode。


Hadoop 3.X开始支持NameNode多活模式,即一个Active NameNode+多个Standby NameNode,进一步提升了HDFS服务的可靠性。


Hadoop 3.2以后YARN支持定义节点属性,可以在节点上标记多个标签,并根据这些标签来放置运行任务的Container。这在以前的版本中都是由YARN自身随机决定的,无法进行人工干预。


其他产品


CDH6由Hadoop3.0.0版本衍生而来。



随着Hadoop技术的继续发展,Hadoop 3.X必将加入更多的新特性,是不是有些跃跃欲试了?可是技术门槛太高,国内案例又不多,团队培养又太慢,跟不上业务需求怎么办?


上海派拉软件股份有限公司是国内顶级的大数据集成服务商,和Hadoop技术领导厂商Cloudera长期保持战略伙伴关系,连续两年被授予国内最佳合作伙伴称号。




派拉软件立足于客户实际需求,结合多年的行业经验,提供全方位多维度的大数据技术服务,派拉软件的大数据业务包含:




派拉软件的大数据技术团队遍布北京、上海、广州、武汉、长春等地,服务范围辐射至全国。

如果您有任何大数据相关的需求,欢迎联系,派拉软件一定为您提供圆满的解决方案。

留下您的联系方式,我们专业人员将会为您服务