
1.什么是Hadoop
- Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。
- 主要解决,海量数据的存储和海量数据的分析计算问题。
- 广义上来说,Hadoop 通常是指一个更广泛的概念 —— Hadoop生态圈。
2.Hadoop的发展历史
- Lucene 框架是 Doug Cutting 开创的开源软件,用 java 书写代码,实现与 Google 类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。
- 2001年年底 Lucene 成为 apache 基金会的一个子项目。
- 对于海量数据的场景,Lucene 面对与 Google 同样的困难:存储数据困难,检索速度慢。
- 学习和模仿 Google 解决这些问题的办法 :微型版 Nutch。
- 可以说 Google 是 hadoop 的思想之源(Google 在大数据方面的三篇论文)。
GFS —>HDFS
Map-Reduce —>MR
BigTable —>Hbase
- 2003-2004 年,Google 公开了部分 GFS 和 Mapreduce 思想的细节,以此为基础 Doug Cutting 等人用了 2 年业余时间实现了 DFS 和 Mapreduce机制,使 Nutch 性能飙升 。
- 2005 年Hadoop 作为 Lucene 的子项目 Nutch 的一部分正式引入 Apache 基金会。
- 2006 年 3 月份,Map-Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。
- 名字来源于 Doug Cutting 儿子的玩具大象。
目前Hadoop经历了三个大的版本:
- hadoop1.x:HDFS+MapReduce
- hadoop2.x:HDFS+YARN+MapReduce
- hadoop3.x:HDFS+YARN+MapReduce

3.Hadoop三大发行版本
- Apache:开源,官方原生版本,对于初学者入门学习最好。
- Cloudera Hadoop(CDH):CDH是一个商业版本,它对官方版本做了一些优化,提供收费技术支持,提供界面操作,方便集群运维管理,在大型互联网企业中用的较多。
- Hortonworks:是开源的,也提供的有界面操作,方便运维管理,文档较好。
建议在实际工作中搭建大数据平台时选择 CDH或者HDP,方便运维管理。
4.Hadoop的优势
- 高可靠性: Hadoop 底层维护多个数据副本,所以即使 Hadoop 某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性: 在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高效性: 在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。
- 高容错性: 能够自动将失败的任务重新分配。
5.Hadoop的组成

在 Hadoop 1.x 时代,Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源调度,耦合性较大。
在 Hadoop 2.x 时代,增加了 Yarn。Yarn 只负责资源的调度,MapReduce 只负责运算。