记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安装配置好。在刚接触hadoop的一段时间里,可以说对于hadoop的理解一直都是停留在相对较肤浅的层面。后来随着自己的不断摸索以及向圈内的前辈大神请教交流(主要是向大神请教学来的),自己对于hadoop的认识以及应用也就更加娴熟。

作为一个过来人,在这里给新人分享一些关于hadoop版本选择的问题,希望别像我当时傻乎乎的只知道hadoop1.0.x2.x版本。 

当前hadoop的发行版本除了Apache的开元版本之外,华为发行版、Intel发行版以及Cloudera发行版等。上面说的这几个第三方的发行版已经有相对较长的一些时间,除此之外还有最近几年异军突起的DKhadoop商业发行版。

国内的大多数公司推出的Hadoop发行版都是收费的,免费的发行版则主要是国外的,比如Apache的发行版、Cloudera发行版等。面对如此多的hadoop版本不免会让人难以选择。下面我们就简单对比一些这些不同版本的优缺点,希望对于新手能够有所帮助。

Apache发行版:

优点:Apache发行版的优点主要集中表现在它的完全开源免费、社区活跃性以及文档、资料详实等方面。

缺点:Apache发行版的缺点也相对较多,具体表现在以下几个方面:

  1. 复杂的版本管理。版本管理比较混乱,各种版本层出不穷,让使用者不知所措。

  2. 复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下。

  3. 复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglianagois等,运维难度较大。

  4. 复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如HiveMahoutSqoopFlumeSparkOozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题。

    第三方发行版本的优缺点:(CDHHDPMapR

    优点:第三方发行版本的优点主要有以下几个:

    1.基于Apache协议,100%开源;

    2.相较于原生的hadoop在兼容性、安全型以及稳定性方面有所提升;

    3.版本管理清晰,更新更快;

    4.提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群

    5.运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效

    缺点:第三方hadoop发行版的主要缺点就是涉及到厂商锁定的问题,但这一问题可以通过技术方面解决掉。

    DKhadoop发行版:

    Dkhadoop发行版是我目前接触的以及使用一个版本。与市场的其他第三方的发行版本相比较,整合程度要更高,但同样也保持了开源系统的全部优点。综合目前使用的情况看,在性能上相较于以往使用的一些第三方hadoop发行版要提升很多的!关于DKhadoop发行版的问题,感兴趣的可以自己去查阅收集一些资料看看。