Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 [1]
官方网站: http://hadoop.apache.org/
大部分情况下我们可以将hadoop理解成hadoop的生态圈 ,如图:
- HDFS:(Hadoop Distribute File System)分布式文件系统,海量数据存储解决方案
- MapReduce:Hadoop的分布式运算编程框架
- Yarn:分布式资源调度平台和任务监控平台
- Commons: HADOOP底层技术支持
Apache Hadoop软件库是一个框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身不是设计用来依靠硬件来提供高可用性,而是旨在检测和处理应用程序层的故障,因此可以在计算机集群的顶部提供高可用性的服务,而每台计算机都容易出现故障。
它解決了两大问题:大数据存储、大数据分析。也就是 Hadoop 的两大核心:HDFS 和 MapReduce。
- hadoop的发展史
2002~2004 年,第一轮互联网泡沫刚刚破灭,很多互联网从业人员都失业了。我们们的“主角" Doug Cutting 也不例外,他只能写点技术文章赚点稿费来养家糊口。但是 Doug Cutting 不甘寂寞,怀着对梦想和未来的渴望,与他的好朋友 Mike Cafarella 一起开发出一个开源的搜索引擎 Nutch,并历时一年把这个系统做到能支持亿级网页的搜索。但是当时的网页数量远远不止这个规模,所以两人不断改进,想让支持的网页量再多一个数量级。
在 2003 年和 2004 年, Googles 分別公布了 GFS 和 Mapreduce 两篇论文。 Doug Cutting 和 Mike Cafarella 发现这与他们的想法不尽相同,且更加完美,完全脱离了人工运维的状态,实现了自动化。
在经过一系列周密考虑和详细总结后,2006 年, Dog Cutting 放奔创业,随后几经周折加入了 yahoo 公司(Nutch 的部分也被正式引入),机绿巧合下,他以自己儿子的一个玩具大象的名字 Hadoop 命名了该项。
当系统进入 Yahoo 以后,项目逐渐发展并成熟了起来。首先是集群规模,从最开始几十台机器的规模发展到能支持上千个节点的机器,中间做了很多工程性质的工作;然后是除搜索以外的业务开发, Yahoo 逐步将自己广告系统的数据挖掘相关工作也迁移到了 Hadoop 上,使 Hadoop 系统进一步成熟化了。
2007 年,纽约时报在 100 个亚马逊的虚拟机服务器上使用 Hadoop 转换了 4TB 的图片数据更加加深了人们对 Hadoope 的印象。
在 2008 年的时侯,一位 Google 的工程师发现要把当时的 Hadoop 放到任意一个集群中去运是一件很困难的事情,所以就与几个好朋友成立了ー个专门商业化 Hadoop 的公司 Cloudera。同年, Facebook 团队发现他们很多人不会写 Hadoop 的程序,而对 SQL 的一套东西很熟,所以他们就在 Hadoop 上构建了一个叫作 Hive 的软件,专把 SQL 转换为 Hadoop 的 Mapreduce 程序。
2011年, Yahoo 将 Hadoop 团队独立出来,成立了ー个子公司 Hortonworks,专门提供 Hadoop 相关的服务。
2 hadoop的三大发型版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
- Apache版本最原始(最基础)的版本,对于入门学习最好。
- Cloudera在大型互联网企业中用的较多。
- Hortonworks文档较好。
1 Apache Hadoop
官网地址:http://hadoop.apache.org/releases.html
下载地址:https://archive.apache.org/dist/hadoop/common/
2 Cloudera Hadoop
官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/
(1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。
(2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support
(3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。
(4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持。
(5)Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。
3.Hortonworks Hadoop
官网地址:https://hortonworks.com/products/data-center/hdp/
下载地址:https://hortonworks.com/downloads/#data-platform
(1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建。
(2)公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop80%的代码。
(3)雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。
(4)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。
(5)HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。
(6)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的Microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元。
3 hadoop的特点
(1) 高可靠性 :Hadoop底层将数据以多个副本的形式存储在不同的机器上,保证数据的安全可靠。
(2) 高扩展性 :当存储hdp集群的存储能力和运算资源不足时,可以横向的扩展机器节点来达到扩容和增强运算能力 。
(3) 高效性 :在MapReduce的思想下能够在节点之间动态地移动运算,且是分布式并行工作的,所以运海量数据非常高效。
(4) 高容错性 : Hadoop能够自动保存数据的多个副本,当有存储数据的节点宕机以后, 会自动的复制副本维持集群中副本的个数 ,并且能够自动将失败的任务重新分配。
(5) 低成本 :hadoop可以运行在廉价的机器上并行工作,达到高效,安全,效率于一身目的。
4 hadoop学习核心内容
Commons: HADOOP底层技术支持 |