从Hadoop框架讨论大数据生态
-
1.1 Hadoop是什么
1)Hadoop是由Apache基金会所开发的分布式系统基础框架。
2)主要解决,海量数据的存储和海量数据的分析计算问题。
3)广义上说,Hadoop通常是指一个更广泛的概念-Hadoop生态圈。
-
1.2 Hadoop发展史
1)Lucene框架是由Doug Cutting 开创的开源软件,用JAVA书写代码,实现与Coogle类似的全文搜索功能,它提供了全文检索引擎的框架,包括完整的查询引擎和索引引擎。
2)2001年底,Lucene成为Apache基金会下的一个子项目;
3)对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索数据慢;
4)学习和模仿Google解决这些问题的方法:微型版Nutch;
5)可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)
GFS ---->HDFS
Map-Reduce --->MR
BigTable---->HBase
6)2003年-2004年,Google公布了部分GFS和Map-Reduce思想的细节,以此为基础的Doug Cuting 等人用了两年的业余时间是实现了DFS和MapReduce机制,使Nutch性能飙升。
7)2005年,Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会。
8)2006年3月份 ,Map-Reduce和Nutch Disistributed File System(NDFS)分别被纳入到Hadoop项目中,Hadoop就此诞生,标志着大数据时代的到来。
9)名字来源于Doug Cutting 儿子的玩具大象,如下图
-
1.3Hadoop三大发行版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache版本是最原始(最基础)的版本,用于入门学习最好。
Cloudera在大型互联网企业中用的较多。
Hortonworks文档较好。
-
1、Apache Hadoop
官网地址:http://hadoop.apache.org/releases.html
下载地址:htpps://archive.apache.org/dist/hadoop/common/
-
1.4 Hadoop的优势(4高)
1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2)高扩展性:在集群间分配任务数据,可方面的扩展数以千计的节点。
3)高效性:在Map-Reduce的思想下,Hadoop是并行工作的,以加快任务处理的速度。
4)高容错性:能够自动将失败的任务重新分配。
-
1.5 Hadoop组成(面试重点)
-
1.5.1 HDFS架构概述
HDFS(Hadoop Distributed File System)的架构概述,如下图所示。
-
1.5.2 YARN架构概述
YARN架构概述,如下图所示。
-
1.5.3 MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce,如下图所示:
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
-
1.6 大数据生态技术体系