1.什么是Hadoop
1.1.狭义上的Hadoop
狭义上的Hadoop是Hadoop软件,它是一个由Apache基金会所开发的分布式系统基础架构( 开源,java语言开发)
The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.(Apache™ Hadoop®项目开发用于可靠、可扩展、分布式计算的开源软件。)
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.(Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它的设计目的是从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身的设计目的不是依赖硬件来提供高可用性,而是在应用程序层检测和处理故障,从而在计算机集群上提供高可用性服务,每个计算机集群都可能发生故障。)详情请参考 Hadoop官网添加链接描述
1.2.广义上的Hadoop
广义上的Hadoop是 Hadoop生态系统
2.Hadoop发展简史
2.1.Hadoop之父
Hadoop创始人 Doug Cutting(道格卡丁)
2.2.简史
Hadoop最早起源于 lucene下的Nutch。
Nutch的设计目标是构建一个大型的全网搜索引擎(Google的全文搜索),包括网页抓取、索引、查询等功能但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题
谷歌3大论文
The Google file system 谷歌分布式文件系统GFS,可用于处理海量网页的存储
MapReduce:Simplified Data Processing on Large Clusters 谷歌分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题
Bigtable: A Distributed Storage System for Structured Data 谷歌分布式的结构化数据存储系统Bigtable,用来处理海量结构化数据
谷歌的这3篇论文给了Nutch团队极大的灵感,可以说是Hadoop的思想之源。
2006年开发者将其从Nutch项目中剥离,命名Hadoop(logo与命名源自Doug Cutting儿子的毛绒玩具)
2008年Hadoop成为Apache顶级项目
3.发行版本(1社区+2商业)
3.1.Apache官方社区版
更新迭代快但兼容性差
官网地址添加链接描述
3.2.Cloudera商业版
稳定兼容性好但版本更新慢且收费
最早的Hadoop商用公司(成立于2008年),2009年Hadoop创始人Doug Cutting也加盟Cloudera公司,其产品主要为CDH
Cloudera地址添加链接描述
3.3.Hortonworks商业版
稳定兼容性好但版本更新慢且收费
2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建,其产品主要是HDP,2018年被Cloudera收购,推出全新的CDP
Hortonworks地址添加链接描述
4.Hadoop架构
4.1.Hadoop1.X
Hadoop Distributed File System(HDFS)分布式文件存储
MapReduce资源管理和分布式数据处理
4.2.Hadoop2.X
Hadoop Distributed File System(HDFS)分布式文件存储
MapReduce分布式数据处理
YARN资源管理、任务调度
4.3.Hadoop3.X
Hadoop Distributed File System(HDFS)分布式文件存储
MapReduce分布式数据处理
YARN资源管理、任务调度
Ozone Hadoop对象存储机制
Submarine Hadoop机器学习引擎
5.Hadoop优势
5.1.高可靠性
Hadoop底层维护多个数据副本,所以即使某个计算元素或存储出现问题,也不会丢失数据(副本机制)
5.2.高扩展性
在集群间分配任务数据,可方便的扩展数以千计的节点
5.3.高效性
在MapReduce思想下,Hadoop是并行工作的,以加快任务处理速度
5.4.高容错性
能够自动的将失败的任务重新分配