Apache Hadoop与第三方Hadoop-CDH,HDP,MapR的分析与比较

Alex / 4-23 17:36 / Hadoop / Tag: hadoop版本选择

、Hadoop版本综述


目前Hadoop发行版非常多,有华为发行版、Intel发行版、Cloudera发行版(CDH)等,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并作为开源或商业产品发布/销售。(http://www.apache.org/licenses/LICENSE-2.0)。


国内绝大多数公司发行版是收费的,比如Intel发行版、华为发行版等,尽管这些发行版增加了很多开源版本没有的新feature,但绝大多数公司选择Hadoop版本时会将把是否收费作为重要指标,不收费的Hadoop版本主要有三个(均是国外厂商),分别是:

        Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)、

 Apache基金会hadoop

 Hortonworks版本(Hortonworks Data Platform,简称“HDP”)--------按顺序代表了,在国内的使用率,CDH和HDP虽然是收费版本,但是他们是开源的,只是收取服务费用。


对于国内而言,绝大多数选择CDH版本,主要理由如下:


(1) CDH对Hadoop版本的划分非常清晰,只有两个系列的版本(现在已经更新到CDH5.20了,基于hadoop2.x),分别是cdh3和cdh4,分别对应第一代Hadoop(Hadoop 1.0)和第二代Hadoop(Hadoop 2.0),相比而言,Apache版本则混乱得多;
(2) CDH文档清晰,很多采用Apache版本的用户都会阅读cdh提供的文档,包括安装文档、升级文档等。


    CDH与Apache版本的对应:
    cdh3版本是基于apache  hadoop  0.20.2
    cdh3u6对应到apache hadoop最新版本(Hadoop 1.x)
    cdh4对应apache hadoop 2.x


HDP版本是比较新的版本,目前与apache基本同步,因为Hortonworks内部大部分员工都是apache代码贡献者,尤其是Hadoop 2.0的贡献者。


二、社区版本与第三方发行版本的比较


1.Apache社区版本


优点:
    完全开源免费。
    社区活跃
    文档、资料详实
 
缺点:
----复杂的版本管理。版本管理比较混乱的,各种版本层出不穷,让很多使用者不知所措。
----复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下。
----复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,运维难度较大。
----复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题。
 

2.第三方发行版本(如CDH,HDP,MapR等)


优点:
----基于Apache协议,100%开源。
----版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4等,后面加上补丁版本,如CDH4.1.0 patch level 923.142,表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch。
----比Apache Hadoop在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运行到各种生产环境。
----版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。
----基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
----提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群。
----运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。
 
缺点:

----涉及到厂商锁定的问题。(可以通过技术解决)


三、第三方发行版本的比较


Cloudera:最成型的发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。Cloudera开发并贡献了可实时处理大数据的Impala项目。


Hortonworks:不拥有任何私有(非开源)修改地使用了100%开源Apache Hadoop的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元数据服务特性的提供商。并且,它们的Stinger开创性地极大地优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Server和Windows Azure在内的Microsft Windows平台上本地运行。

点击查看原图

MapR:与竞争者相比,它使用了一些不同的概念,特别是为了获取更好的性能和易用性而支持本地Unix文件系统而不是HDFS(使用非开源的组件)。可以使用本地Unix命令来代替Hadoop命令。除此之外,MapR还凭借诸如快照、镜像或有状态的故障恢复之类的高可用性特性来与其他竞争者相区别。该公司也领导着Apache Drill项目,本项目是Google的Dremel的开源项目的重新实现,目的是在Hadoop数据上执行类似SQL的查询以提供实时处理。


四、版本选择
当我们决定是否采用某个软件用于开源环境时,通常需要考虑以下几个因素:
(1)是否为开源软件,即是否免费。
(2) 是否有稳定版,这个一般软件官方网站会给出说明。
(3) 是否经实践验证,这个可通过检查是否有一些大点的公司已经在生产环境中使用知道。
(4) 是否有强大的社区支持,当出现一个问题时,能够通过社区、论坛等网络资源快速获取解决方法。




发表留言:

Hdfs文件读取的原理介绍与源码剖析 Hadoop集群中Hdfs状态页面的Browse the filesystem链接无效的分析与解决
返回顶部
Themes by lishiyu.cn