文章目录
- 一、Hadoop介绍
- 1.1、Hadoop是什么
- 二、Hadoop发展史
- 2.1、创始人
- 2.2、Hadoop发展历史/起源
- 2.3、Hadoop三大发行版本
- 2.3.1、Apache Hadoop
- 2.3.2、Cloudera Hadoop
- 2.3.3、Hortonworks Hadoop
- 三、Hadoop组成
- 3.1、Hadoop组成
- 3.2、模块
- 3.3、Hadoop特性优点
一、Hadoop介绍
1.1、Hadoop是什么
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决海量数据的存储和海量数据的分析计算问题。
二、Hadoop发展史
2.1、创始人
Doug Cutting(道格·卡丁):创建了Lucene,与Mike Cafarella共同创建了搜索引擎Nutch
Mike Cafarella:是一位专攻数据库管理系统的科学家
2.2、Hadoop发展历史/起源
Hadoop是Apache Lucene创始人 Doug Cutting (道格·卡丁)创建的。最早起源于Nutch,它是Lucene的子项目。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题:如何解决数十亿网页的存储和索引问题。
Hadoop的雏形是由Doug Cutting(道格·卡丁)等人借鉴Google在大数据方面的三篇论文后(GFS->HDFS,MapReduce->MR,BigTable->HBase),用了2年业余时间实现的,后来被引入Apache基金会立项,2006年3月Hadoop正式诞生,标志着大数据时代来临。名字来源于Doug Cutting儿子的玩具大象。
早在2002年的时候,Doug和Mike设计一个搜索引擎Nutch,爬取了全网10亿个网页的数据,爬取完成之后,在设计搜索引擎的过程中,遇到了存储的问题
-
在2003年的时候,Google发表了一篇论文
<The Google File System>
(GFS),阐述了分布式存储的思想和原理,但是并没有对外公开这个框架 -
在2004年的时候,Doug和Mike根绝GFS实现了Nutch中的存储系统 - NDFS(Nutch Distributed File System - Nutch分布式文件系统)
-
在2004年的时候,Google发表了一篇论文
<The Google MapReduce>
,阐述了分布式计算的思想和原理,但是同样没有对外公开使用这个框架 -
在2005年的时候,Doug根据这篇论文实现了Nutch中的MapReduce
-
2006年Google发表了论文是关于BigTable的,这促使了后来的Hbase的发展。
-
在Nutch0.8的时候,Doug发现NDFS和MapReduce不只可以用于搜索引擎,也可以用于其他的分布式处理,所以就把NDFS和MapReduce以及其他的一些需要的基本以来分离出来,组成了一个新的框架Hadoop,同时NDFS改名为HDFS(Hadoop Distributed File System),至此,Hadoop正式面世
在2007年11月的时候,Doug加入了Yahoo!,在Yahoo!工作期间,深度开发了Hadoop,后来还根据网友的建议,实现了HBase、Pig等框架
后来Yaoo!将Hadoop、HBase、Pig等框架贡献给了Apache
2.3、Hadoop三大发行版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
- Apache版本是最原始最基础的版本,开源免费。
- Cloudera内部集成了很多大数据框架,对应产品CDH,收费,每年每个节点10000美元。
- Hortonworks文档较好,对应产品HDP,目前已被Cloudera公司收购。
2.3.1、Apache Hadoop
官网地址:http://hadoop.apache.org/releases.html
下载地址:https://archive.apache.org/dist/hadoop/common/
2.3.2、Cloudera Hadoop
cloudera主要是美国一家大数据公司在apache开源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项目。
2.3.3、Hortonworks Hadoop
hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态,web管理界面软件HDF网址(http://ambari.apache.org/),2018年,大数据领域的两大巨头公司Cloudera和Hortonworks宣布平等合并,Cloudera以股票方式收购Hortonworks,Cloudera股东最终获得合并公司60%的股份。
官网地址: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美元。
三、Hadoop组成
3.1、Hadoop组成
Hadoop自诞生以来,主要分为Hadoop1、Hadoop2、Hadoop3三个系列的多个版本,目前市场上最主流的是Hadoop2.x版本。Hadoop2.x版本指的是第2代Hadoop,它是从Hadoop1.x发展而来的,并且相对于Hadoop1.x来说,有很多改进。
Hadoop1.X:包含了Common、HDFS和MapReduce模块。现在市面上已经停止使用
Hadoop2.X:包含了Common、HDFS、MapReduce以及YARN模块。从Hadoop2.7版本开始,还包含了Ozone模块。Hadoop2.X和Hadoop1.X全版本不兼容
Hadoop3.X:包含了Common、HDFS、MapReduce、YARN和Ozone模块。Hadoop3.X和Hadoop2.X部分版本兼容
Hadoop3.0相比之前的Hadoop2.0有一系列的功能增强。但目前还是个alpha版本,有很多bug,且不能保证API的稳定和质量。
Apache Hadoop 2.7.4是当前2系列最稳定版本。
3.2、模块
Hadoop Common:公共依赖模块
Hadoop Distributed File System (HDFS™):分布式文件系统,解决存储问题。HDFS由NameNode、DataNode和Secondary NameNode组成。NameNode存储文件的元数据,DataNode存储文件块数据,Secondary NameNode每隔一段时间对NameNode元数据备份。
Hadoop YARN:负责任务调度和集群的资源管理。Yarn由ResourceManager、NodeManager、ApplicationMaster和Container组成。
Hadoop MapReduce:基于YARN的分布式计算系统。MapReduce将计算过程分成两个阶段,Map阶段和Reduce阶段,Map阶段并行处理输入数据,Reduce阶段对Map结果进行汇总。
Hadoop Ozone:一个可伸缩、冗余和分布式的对象存储
3.3、Hadoop特性优点
扩容能力(Scalable)
:Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。
成本低(Economical)
:Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。
高效率(Efficient)
:通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。
可靠性(Rellable)/高容错性
:能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。