你好,游客 登录 注册 搜索
背景:
阅读新闻

如何选择合适的hadoop版本进行学习或企业应用

[日期:2015-02-02] 来源:小象学院  作者: 杨贵妃 [字体: ]

  目前Apache Hadoop发行版越来越多,版本更新演进很快,如何进行区分? 众多厂家都发布了自己的商业版本,企业如何选择最适合自己的解决方案?

  作为developer开发者或者administrator应该选择什么样的版本供自己学习和研究呢?本文针对这些问题,做一些简单的分析。

  首先需要知道什么是Hadoop发行版(Hadoop distribution),简单来说它就是基于开源的Apache Hadoop进行改造的商业解决方案。其中设计了包括一系列定制的管理工具和软件。

  同时Apache Hadoop本身也存在着一些版本差异,甚至说apache的版本更加混乱。总体来说Hadoop内核分为了2个版本:

  1、Hadoop 1.0(已有稳定版) 包括

   HDFS(Hadoop Distributed File System)

   MapReduce

  2、Hadoop 2.0(已发布beta版)包括

   HDFS

   YARN(Yet Another Resource Negotiator)

   MapReduce

  国外的一些商业公司,如 Hortonworks主要专注于Hadoop 1(不包括YARN、HCatalog等),也是因为其技术比较成熟且能够投入生产环境。Cloudera发行版包括Hadoop 1和Hadoop 2两种选择,但Cloudera不建议将Hadoop 2投入生产环境。其他跟进的发行版提供商倾向于使用Hadoop 2。

  不同的提供商还会选择在其发行版当中添加不同的Apache Hadoop子项目,如Hive、Zookeeper等。另外还会添加一些专有代码作为补充甚至替换原始的Apache Hadoop代码,这些代码主要用来提升Hadoop分布式文件系统(HDFS)的性能,还有一些是新的管理工具。发行版提供商的管理套件是其主要的增值项目,其中最明显的就是Cloudera。而Hortonworks则选择将开源的Ambari添加到管理工具当中。

  用户选择Hadoop发行版的另外一个原因是厂商会提供相关的技术支持,因为企业内部对于Hadoop的部署和使用经验不足。Cloudera和 Hortonworks的技术支持是业界最佳的,同时一些大型厂商如Oracle等也会提供一些级别的技术支持,比如在Oracle大数据一体机上面提供 Tier 1技术支持。同时Cloudera提供详细的安装配置文档,最方便管理员的使用。

  以下的几个提供商当中,我会列出其各自的优势,用户可以根据自己的需求选择不同的Hadoop供应商:

  Cloudera

  2008 年成立的 Cloudera 是最早将 Hadoop 商用的公司,为合作伙伴提供 Hadoop 的商用解决方案,主要是包括支持,咨询服务,培训。2009年hadoop的创始人 Doug Cutting也任职于 Cloudera 公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support。CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对hadoop的技术支持。cloudera的标价为每年每个节点4000美元。

  其优势为:

  ·Cloudera的Hadoop管理工具非常成熟

  ·Cloudera还提供了应用导航的功能

  ·Cloudera在Hadoop领域是非常有经验的

  ·Cloudera对于Hadoop的发展起着重要作用

  ·Cloudera拥有广泛的合作伙伴支持

  ·Cloudera专攻Hadoop,同时资金充沛

  Hortonworks

  2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建的公司。公司成立之初吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发 Hadoop,这些工程师贡献了hadoop 80%的代码。。雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。Hortonworks 的主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,HDP除了常见的项目外还包含了Ambari,一款开源的安装和管理系统。HCatalog,一个元数据管理系统。

  优势为:

  ·Hortonworks拥有大量的Hadoop专家,同时对Hadoop的发展也起到了重要作用

  ·Hortonworks也拥有广泛的合作伙伴支持

  ·Hortonworks与Cloudera很相似,也专攻Hadoop

  ·Hortonworks对专有代码的依赖低于Cloudera,因此用户不必担心“厂商锁定”问题。

  Intel

  Intel 的商业版本,主要是强调其能提供全面的软硬件解决方案设计,针对硬件具有更好的性能优化,以及提供集群管理工具和安装工具简化了 Hadoop 的安装和配置,能够提供项目规划到实施各阶段专业的咨询服务,实际中采购Intel版本貌似动力不足。

  优势:

  ·Intel的Hadoop性能很好

  ·Intel的Hadoop发行版最先进入中国市场(在中国市场的一大重要优势),我所服务的浙江移动通信工程采购的Hadoop就是采购的Intelhadoop

  EMC/Pivotal/Greenplum

  ·使用Greenplum数据库的用户别犹豫了,就选择新的Pivotal HD吧

  MapR

  ·某种程度上说MapR的Hadoop发行版在性能方面具备优势

  IBM

  IBM’s InfoSphere BigInsights: 当前版本为1.3,在其中打包了文本分析、用于数据探索的BigSheets、开发工具。IBM扩展了M\R和灵活的调度器。并提供了一个HDFS的替代方案(GPFS),提供了企业级的安全,提供了一个基于WEB的管理界面,提供了高速数据连接器。

  ·信任IBM的服务就选择它的Hadoop发行版

  华为

  华为在硬件上具有天然的优势,在网络,虚拟化,PC机等都有很强的硬件实力。华为的hadoop版本基于自研的Hadoop HA平台,构建NameNode、JobTracker、HiveServer的HA功能,进程故障后系统自动Failover,无需人工干预,这个也是对hadoop的小修补,远不如mapR解决的彻底。华为在hadoop社区中的Contributor和committer也是国内最多的,算是国内技术实力较强的公司。

  对于Hadoop中的组件,做一些描述:

  Apache Hadoop和MapReduce,这个就不用介绍了,太熟悉了,是通用的组件。

  Apache HDFS,也不说了

  Apache Pig,提供Pig Latin的查询语言,以及一个编译器将查询语言转换为MR程序执行

  Apache Hive,提供HiveQL查询语言,然后转换为MR程序执行。使得可以想数据仓库一样被查询,也可以在语言中嵌入MR代码。

  Jaql,跟前两者相似,不过是IBM自己的,不是Apache中包含的。可以查询结构化和非结构化数据。为使用JSON来设计。最终编译为MR程序执行。

  Apache HBase,是列的NoSQL数据库,构建在HDFS上,提供随机读和写。

  Apache Cassandra,列、点对点模式的NoSQL数据库,内建复制机制,为广泛的高可用和云支持设计,允许事务和分析负载同时承载。DataStax将其作为HDFS的替代。

  Apache ZooKeeper,提供中央的控制信息和同步。通常为Hbase提供节点见的协调。

  Apache Flume,孵化中的项目,由Cloudera提供,用于收集来自多个数据源的日志,并将它输入到中央的数据存储中,比如HDFS。

  Apache Oozie,孵化中的项目,由Yahoo提供,用于工作流、调度和协调。

  自己建立Hadoop的软件栈和选择一个有支持的商业版本。最终结论是大部分的公司都应该选择后者,除非是像大型互联网公司这种将Hadoop视为核心和长期演进的才应该选择前者。

  关于Hadoop的开发者或者使用者应该如何选择呢?

  研究源码的:采用Apache Hadoop官方版本吧。或者采用CDH(Cloudera’s 100% Open Source Distribution of Hadoop)。

  同时对于使用者而言,CDH有更多的安装部署文档,比apache hadoop好一些。建议选择。

  现在CDH最新的是5.0 CDH 5.0 (including Hadoop 2, YARN, Impala, and Search) ,对于学习者而言大家用的最多的是hadoop-0.20.2-cdh3u6.tar。

  学习:推荐apache 官方版本和cdh版本.





收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款