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

帮助企业打造成功软件!
热门搜索:
深度解析如何挑选适合自己的Hadoop平台
深度解析如何挑选适合自己的Hadoop平台
| 作者: |
11:03:00| 阅读 0次
概述:IBM、Oracle、SAP、甚至Microsoft等几乎所有的大型软件提供商都采用了Hadoop。然而,当你已经决定要使用Hadoop来处理大数据时,首先碰到的问题就是如何开始以及选择哪一种产品。本文讨论了不同的选择,并推荐了每种选择的适用场合。
平台的多种选择&下图展示了Hadoop平台的多种选择。你可以只安装Apache 发布版本,或从不同提供商所提供的几个发行版本中选择一个,或决定使用某个大数据套件。每个发行版本都包含有Apache Hadoop,而几乎每个大数据套件都包含或使用了一个发行版本,理解这一点是很重要的。下面我们首先从Apache Hadoop开始来好好看看每种选择。Apache H Apache Hadoop项目的目前版本(2.0版)含有以下模块Hadoop通用模块:支持其他Hadoop模块的通用工具集。&Hadoop分布式文件系统(HDFS):支持对应用数据高吞吐量访问的分布式文件系统。&Hadoop YARN:用于作业调度和集群资源管理的框架。&Hadoop MapReduce:基于YARN的大数据并行处理系统。&在本地系统上独立安装Apache Hadoop是非常容易的(只需解压缩并设置某些环境变量,然后就可以开始使用了)。但是这只合适于入门和做一些基本的教程学习。&&如果你想在一个或多个&真正的节点&上安装Apache Hadoop,那就复杂多了。问题1:复杂的集群设置你可以使用伪分布式模式在单个节点上模拟多节点的安装。你可以在单台服务器上模拟在多台不同服务器上的安装。就算是在该模式下,你也要做大量的配置工作。如果你想设置一个由几个节点组成的集群,毫无疑问,该过程就变得更为复杂了。要是你是一个新手管理员,那么你就不得不在用户权限、访问权限等诸如此类的问题中痛苦挣扎。&问题2: Hadoop生态系统的使用在Apache中,所有项目之间都是相互独立的。这是很好的一点!不过Hadoop生态系统除了包含Hadoop外,还包含了很多其他Apache项目:Pig:分析大数据集的一个平台,该平台由一种表达数据分析程序的高级语言和对这些程序进行评估的基础设施一起组成。&Hive:用于Hadoop的一个数据仓库系统,它提供了类似于SQL的查询语言,通过使用该语言,可以方便地进行数据汇总,特定查询以及分析存放在Hadoop兼容文件系统中的大数据。&Hbase:一种分布的、可伸缩的、大数据储存库,支持随机、实时读/写访问。&Sqoop:为高效传输批量数据而设计的一种工具,其用于Apache Hadoop和结构化数据储存库如关系数据库之间的数据传输。&Flume:一种分布式的、可靠的、可用的服务,其用于高效地搜集、汇总、移动大量日志数据。&ZooKeeper:一种集中服务,其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。&你需要安装这些项目,并手动地将它们集成到Hadoop中。&问题3:商业支持Apache Hadoop只是一个开源项目。这当然有很多益处。你可以访问和更改源码。实际上有些公司使用并扩展了基础代码,还添加了新的特性。很多讨论、文章、博客和邮件列表中都提供了大量信息。然而,真正的问题是如何获取像Apache Hadoop这样的开源项目的商业支持。公司通常只是为自己的产品提供支持,而不会为开源项目提供支持(不光是Hadoop项目,所有开源项目都面临这样的问题)。何时使用Apache Hadoop由于在本地系统上,只需10分钟左右就可完成其独立安装,所以Apache Hadoop很适合于第一次尝试。你可以试试WordCount示例(这是Hadoop的&hello world&示例),并浏览部分MapReduce的Java代码 。&如果你并不想使用一个&真正的&Hadoop发行版本(请看下一节)的话,那么选择Apache Hadoop也是正确的。然而,我没有理由不去使用Hadoop的一个发行版本&&因为它们也有免费的、非商业版。所以,对于真正的Hadoop项目来说,我强烈推荐使用一个Hadoop的发行版本来代替Apache Hadoop。下一节将会说明这种选择的优点。&Hadoop发行版本Hadoop发行版本解决了在上一节中所提到的问题。发行版本提供商的商业模型百分之百地依赖于自己的发行版本。他们提供打包、工具和商业支持。而这些不仅极大地简化了开发,而且也极大地简化了操作。&Hadoop发行版本将Hadoop生态系统所包含的不同项目打包在一起。这就确保了所有使用到的版本都可以顺当地在一起工作。发行版本会定期发布,它包含了不同项目的版本更新。发行版本的提供商在打包之上还提供了用于部署、管理和监控Hadoop集群的图形化工具。采用这种方式,可以更容易地设置、管理和监控复杂集群。节省了大量工作。 正如上节所提到的,获取普通Apache Hadoop项目的商业支持是很艰难的,而提供商却为自己的Hadoop发行版本提供了商业支持。&Hadoop发行版本提供商目前,除了Apache Hadoop外, HortonWorks、Cloudera和MapR三驾马车在发布版本上差不多齐头并进。虽然,在此期间也出现了其他的Hadoop发行版本。比如EMC公司的Pivotal HD、IBM的InfoSphere BigInsights。通过Amazon Elastic MapReduce(EMR),Amazon甚至在其云上提供了一个托管的、预配置的解决方案。虽然很多别的软件提供商没有开发自己的Hadoop发行版本,但它们和某一个发行版本提供商相互合作。举例来说,Microsoft和Hortonworks相互合作,特别是合作将Apache Hadoop引入到Windows Server操作系统和Windows Azure云服务中。另外一个例子是,Oracle通过将自己的软硬件与Cloudera的Hadoop发行版本结合到一起,提供一个大数据应用产品。而像SAP、Talend这样的软件提供商则同时支持几个不同的发行版本。&如何选择合适的Hadoop发行版本?本文不会评估各个Hadoop的发行版本。然而,下面会简短地介绍下主要的发行版本提供商。在不同的发行版本之间一般只有一些细微的差别,而提供商则将这些差别视为秘诀和自己产品的与众不同之处。下面的列表解释了这些差别: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的查询以提供实时处理。&为了做出正确的选择,请了解各个发行版本的概念并进行试用。请查证所提供的工具并分析企业版加上商业支持的总费用。在这之后,你就可以决定哪个发行版本是适合自己的。&何时使用Hadoop发行版本?由于发行版本具有打包、工具和商业支持这些优点,所以在绝大多数使用情形下都应使用Hadoop的发行版本。使用普通的(原文为plan,应为plain)Apache Hadoop发布版本并在此基础之上构建自己的发行版本的情况是极少见的。你会要自己测试打包,构建自己的工具,并自己动手写补丁。其他一些人已经遇到了你将会遇到的同样问题。所以,请确信你有很好的理由不使用Hadoop发行版本。&然而,就算是Hadoop发行版本也需要付出很大的努力。你还是需要为自己的MapReduce作业编写大量代码,并将你所有的不同数据源集成到Hadoop中。而这就是大数据套件的切入点。&结论&Hadoop安装有好几种选择。你可以只使用Apache Hadoop项目并从Hadoop生态系统中创建自己的发行版本。像Cloudera、Hortonworks或MapR这样的Hadoop发行版本提供商为了减少用户需要付出的工作,在Apache Hadoop之上添加了如工具、商业支持等特性。在Hadoop发行版本之上,为了使用如建模、代码生成、大数据作业调度、所有不同种类的数据源集成等附加特性,你可以使用一个大数据套件。一定要评估不同的选择来为自己的大数据项目做出正确的决策。
慧都控件|提供软件技术整体解决方案
云集全球三千余款优秀控件、软件产品,提供行业领先的咨询、培训与开发服务
企业QQ:|电话:023-
服务与支持
重庆 / 023-
北京 / 010-
400-700-1020
慧都旗下网站
慧都科技有限公司 版权所有 Copyright
100%正版软件
400-700-1020
<input type="hidden" id="url" value=""/>高大上Hadoop技术培训:Hadoop在企业中的应用实战
发表于 16:13|
作者刘亚琼
摘要:业界在Hadoop上的兴趣和投资形成了包括开源软件和商业化软件的整个生态系统。Hadoop迅速成为大数据处理方面的业界事实标准。谷歌、淘宝、百度、京东等底层都应用Hadoop,越来越多的企业急需引入Hadoop技术人才。
数据已经成为当今企业的核心竞争力,拥有大数据并智慧地使用和运营数据成为企业不可缺少的成功要素。Hadoop生态系统提供了一种实用的、经济有效的、可扩展的架构,帮助企业存储、管理和处理海量数据。随着云计算、大数据迅速发展,亟需用Hadoop解决大数据量高并发访问的瓶颈。谷歌、淘宝、百度、京东等底层都应用Hadoop,越来越多的企业急需引入Hadoop技术人才。
Hadoop入门薪资已经达到了8K以上,工作1年可达到1.2W以上,具有2-3年工作经验的Hadoop人才年薪可以达到30万—50万。一般需要大数据处理的公司基本上都是大公司,所以学习Hadoop技术也是进大公司的捷径!
业界在Hadoop上的兴趣和投资形成了包括开源软件和商业化软件的整个生态系统。Hadoop迅速成为大数据处理方面的业界事实标准。CSDN携手ChinaHadoop小象社区打造一场涵盖分布式在线存储系统HBase、数据仓库Hive、Hadoop在电信运营商的应用实践等内容的Hadoop高端技术培训。且学且珍惜,它的价值你懂的!()
课程体系介绍
解剖麻雀——Hadoop在电信运营商的应用实践
分布式在线存储系统——HBase
电信行业数据应用现状和挑战
&HBase的系统架构
&电信系统数据类型分类及特点
&HBase数据模型
&业务转型带来的数据技术挑战
&HBase存储模型
&传统数据库技术的短板
&HBase API及通常用法
&Hadoop带来的机会与风险
&案例分析:HBase在搜索业务中的使用及体会
Hadoop在电信领域的成功应用
数据仓库——Hive
&离线统计分析系统
&Hive是什么
&详单查询系统
&案例分析:Hive日志分析实例
&Hive原理和体系结构
&未来趋势:融合的多租户Hadoop集群
如何从零开始设计一个Hadoop集群
&Hive内部表和外部表
&需求分析与配置计算
&Hive文件类型
&Hive的分区
&Hive的复合数据类型
&Hive自定义UDF
如何调优及高效运维一个Hadoop集群
&Hive的transform实战
&常用的系统级调优手段
&Hive自定义UDF
&常用的Hadoop调优手段
&运维工具的选择与推荐
讲师团队介绍
谢磊&&&&&&&& ChinaHadoop小象社区发起人
嘉宾介绍:《HBase实战》中文版译者。资深IT人士,从事软件行业十多年,历任HP软件部和咨询事业部高级顾问、BMC Software中国区技术总监、北京小象科技有限公司执行董事等。现从事企业级大数据解决方案的工作,致力于大数据技术的普及和推广。
董西成&&&&&& ChinaHadoop小象社区核心成员
嘉宾介绍:《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》和《Hadoop技术内幕:深入解析YARN架构设计与实现原理》作者。资深Hadoop技术实践者和研究者,曾参与商用Hadoop原型研发,以及分布式日志系统、全网图片搜索引擎、Hadoop调度器等项目的设计与研发。
陈超&&&&&&&& ChinaHadoop小象社区核心成员
嘉宾介绍::参与多个数据分析与数据挖掘相关项目。 近年来一直专注于分布式计算与机器学习相关领域。国内较早的Spark研究与使用者,Spark
Contributor,目前专注于基于Spark平台的大数据处理。&
叶琪&&&&&&&&ChinaHadoop小象社区核心成员
嘉宾介绍:Hadoop的开发者与实践者,专注于Hadoop的底层模块(HDFS、YARN、MapReduce、HBase和Hive),擅长将传统业务系统迁移到基于Hadoop的解决方案,对Hadoop集群的构建和各种运维问题有着丰富的实践经验。
冼茂源&&&&&ChinaHadoop小象社区核心成员
嘉宾介绍::多年从事分布式计算及存储相关的开发及管理工作。 针对互联网具体业务的特殊需求,对Hadoop调度机制、安全管理、存储优化、监控及管理系统等进行深度修改。在将HBase与具体查询业务相结合,进行系统问题排查及调优方面有丰富经验。
刘刚&&&&&&&&&ChinaHadoop小象社区核心成员
嘉宾介绍::多年Hadoop开发和维护工作,擅长搭建基于Hadoop的海量数据平台和处理TB级数据。 擅长基于MR的算法开发,参与多个Hive、HBase和Mahout的行业应用案例。
《Hadoop应用开发技术详解》作者。 《海量数据基于记录级别的容错》专利所有人。
&为了保证课程质量,培训将严格限制人数在200位,报满即止,3人以上可享受团体票价,。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章《Hadoop海量数据处理:技术详解与项目实战(第2版)》一2.1 Hadoop的发行版本选择
本节书摘来异步社区《Hadoop海量数据处理:技术详解与项目实战(第2版)》一书中的第2章,第2.1节,作者: 范东来 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.1 Hadoop的发行版本选择
作为安装Hadoop的第一步,就是根据实际情况选择最合适的Hadoop版本。而目前由于Hadoop的飞速发展,功能更新和错误修复在不断地迭代着,所以Hadoop的版本非常多,显得有些杂乱。对于初学者来说,选择一个合适的Hadoop版本进行学习非常重要,本节主要理清各个Hadoop版本之间的关系与不同。
2.1.1 Apache Hadoop
Hadoop目前是Apache软件基金会的顶级项目,目前由Apache软件基金负责开发和推广,所以我们可以直接从Apache软件基金会的镜像网站上下载Hadoop,其链接为 Hadoop以压缩包(tarball、tar.gz)的形式发布,其中包括了源代码和二进制工作文件。
2.1.2 CDH
在第1章中曾经提到过,Cloudera是一家提供Hadoop支持、咨询和管理工具的公司,在Hadoop生态圈具有举足轻重的地位,它的拳头产品就是著名的Cloudera’s Distribution for Hadoop,简称CDH。该软件同Apache Hadoop一样,都是完全开源的,基于Apache软件许可证,免费为个人和商业使用。Cloudera从一个稳定的Apache Hadoop的版本开始,连续不断地发布新版本并为旧版本打上补丁,为各种不同的生产环境提供安装文件,在Cloudera的团队中,有许多Apache Hadoop的贡献者,所以Cloudera公司的实力毋庸置疑。
用户一般安装Hadoop时,不仅只安装HDFS、MapReduce,还会根据需要安装Hive、HBase、Sqoop等。Cloudera将这些相关项目都集成在一个CDH的版本里,目前CDH包括Hadoop、HBase、Hive、Pig、Sqoop、Flume、Zookeeper、Oozie、Mahout和Hue等,几乎完整覆盖了整个Hadoop的生态圈。这样做的好处是保证了组件之间的兼容性,因为这些各个项目之间也存在完全独立的版本,其各个版本与Hadoop之间必然会存在兼容性的问题。如果你选择了CDH,那么同一个CDH版本的组件之间将完全不存在兼容性问题。
在编写本书时,CDH最新的版本是CDH5,也是目前最主流的版本,它是基于Apache Hadoop 2.6。CDH还有两个正式的大版本:CDH3和CDH4(CDH1和CDH2现在早已绝迹,Cloudera公司也早已放弃支持),其中CDH3是一个非常经典的版本,它是基于Apache Hadoop 0.20.2的,这是CDH第一个真正意义上的稳定版,久经生产环境考验,而CDH4是CDH5的过渡版,没有真正意义上流行过。
CDH也会以压缩包的形式发布,可以在其官网下载,CDH还提供Yum、Apt、Zypper形式的安装。
2.1.3 Hadoop的版本
对于任何一个Apache项目,所有的基础特性均被添加到一个称为“trunk”的主代码线(main code line),Hadoop也不例外。当需要开发某个重要的特性时,会专门从主代码线中延伸出一个分支(branch),这被称为一个候选发布版(candidate release)。该分支将专注于开发该特性而不再添加其他新的特性,待基本bug修复之后,经过相关人士投票便会对外公开成为发布版(release version),并将该特性合并到主代码线中。需要注意的是,多个分支可能会同时进行研发,这样,版本高的分支可能先于版本低的分支发布。
目前Hadoop的版本有如下几个特性[4]。
(1)Append:HDFS Append支持对文件追加,HDFS在设计之初的理念是“一次写入,多次读取”,但由于某些具有写需求的应用使用HDFS作为底层存储系统,如HBase的预写日志(WAL),所以HDFS加入了这一功能。
(2)Security:Hadoop缺乏自己的安全机制,该功能可以为Hadoop增加基于Kerberos和Deletion Token的安全机制。
(3)Symlink:使HDFS支持符号链接,符号链接又叫软链接,是一类特殊的文件 ,这个文件包含了另一个文件的路径名(绝对路径 或者相对路径 ),在对符号文件 进行读操作或写操作时,系统会自动把该操作转换为对源文件 的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
(4)MRv1:第一代MapReduce计算框架,通过MapReduce思想,将问题转化为Map和Reduce两个阶段,基础服务由JobTracker、TaskTracker进程提供。
(5)YARN/MRv2:第一代MapReduce计算框架具有扩展性和多计算框架支持不足的缺点,针对这些,提出了全新的资源管理框架(Yet Another Resource Negotiator),通过这个组件,我们可以在共用底层存储(HDFS)的情况下,计算框架采取可插拔式的配置。在MRv1中的JobTracker的资源管理和作业跟踪的功能被分拆由ResourceManager和ApplicationMaster两个组件来完成,增强了扩展性。
(6)NameNode Federation:在Hadoop中,NameNode保存了所有文件的元数据,所以其性能制约了整个HDFS集群的扩展。基于此,NameNode Federation将NameNode横向扩展,每一个NameNode保存一部分元数据,即将元数据水平切分,彼此之间互相隔离,但共享底层的DataNode存储。
(7)NameNode HA:在Hadoop中,NameNode还存在单点故障问题,当NameNode出现故障时,集群必须停止工作。NameNode采取共享存储的方案解决NameNode的高可用性问题。
基于以上Hadoop的特性衍生出的Hadoop版本令人眼花缭乱,这也是由于功能更新和错误修复在不断进行中。图2-1所示为Hadoop不同的版本分支。
(1)0.20.0~0.20.2:Hadoop的0.20分支非常稳定,虽然看起来有些落后,但是经过生产环境考验,是Hadoop历史上生命周期最长的一个分支,CDH3、CDH4虽然包含了0.21和0.22分支的新功能和补丁,但都是基于此分支。
(2)0.20-append:0.20-append支持HDFS追加,由于该功能被认为是一个不稳定的潜在因素,所以它被单独新开了一个分支,并且没有任何新的Hadoop的正式版基于此分支发布。
(3)0.20-security:该分支基于0.20并支持Kerberos认证。
(4)0.20.203~0.20.205:这些版本包括了Security分支所带功能,并且还包括错误修复和0.20分支的线上开发的改进。
(5)0.21.0:0.21是一个预研性质的版本,目的是强调那段时间开发的一些新功能,没有Security功能,但有Append功能,不建议部署在生产环境。
(6)0.22.0:0.22.0包括HDFS的安全功能,并且更新不大。
(7)0.23.0:在2011年11月,Hadoop 0.23发布了,包括了Append、Security、YARN和HDFS Federation功能,该版本被认为是2.0.0的预览版本。
(8)1.0.0:1.0.0版本是基于0.20.205版本发布,包括了Security功能,是一个值得部署的稳定版本。但是从上面可以看出,1.0.0并不是包含了所有分支。
(9)2.0.0:2012年5月,基于0.23.0分支的2.0.0版本发布,它包含了YARN,但移除了MRv1,兼容了MRv1的API,但底层实现有明显不同,需要经过大量测试才能被用于生产环境。CDH4是基于此版本,但CDH4还提供了MRv1的实现。
2.1.4 如何选择Hadoop的版本
在本书第1版问世的时候,Hadoop的版本还比较乱,各种分支、新特性各自为政,现在已经由CDH5统一了局面,目前国内大多采用Cloudera的CDH5作为生产环境的Hadoop版本,但每个版本各自的特性和功能还是有必要提一下的,如表2-1所示。
选择Hadoop的版本取决于用户想要的功能和是否稳定,对于稳定的需求,一般就考虑Cloudera的CDH。CDH有很多的补丁和更新,稳定性很不错。对于功能的需求,CDH几乎包含了整个Hadoop生态圈,能够很好地为业务提供支持。CDH5是目前最稳定也是功能最全的CDH版本。
CDH5还包括了Hive、HBase、Sqoop等的CDH版,具体版本号如表2-2所示。表2-2的第二列前面的数字是社区版版本号,后面的数字是CDH的版本号。

我要回帖

 

随机推荐