一、Hadoop是什么
1、Hadoop是一个由Apache基金会所开发的分布式系统基础框架
2、主要解决,海量数据的存储和海量数据的分析计算问题
3、广义上来说,Hadoop通常是指一个更广泛的概念–hadoop生态圈
二、Hadoop发展历史
1、 Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。
naaoop炬八uoug cuttng
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和MapReduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。
7、 2005年Hadoop 作为Lucene的子项目Nutch的一部分正式引入Apache基金会。
8、 2006年3月份,Map-Reduce和Nutch Distributed File System (NDFS)分别被纳入称为Hadoop的项目中。
9、名字来源于Doug Cutting儿子的玩具大象
10、Hadoop就此诞生并迅速发展,标志着大数据时代来临。
三、Hadoop三大发行版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks
Apache版木最原始(最基础)的版木,对于入门学习最好。
Cloudera.在大型互联网企业中用的较多。
Hortonworks 文档较好
四、Hadoop的优势(4高)
1、高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2、高扩展性∶在集群间分配任务数据,可方便的扩展数以千计的节点。
3、高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4、高容错性:能够自动将失败的任务重新分配。
五、Hadoop1.x和Hadoop2.x的区别
六、Hadoop的组成
1、NameNode (nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
2 、DataNode (dn):在本地文件系统存储文件块数据,以及块数据的校验和。
3 、Secondary NameNode (2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
七、yarn框架
1、ResourceManager (RM)主要作用:
(1)处理客户端请求
(2)监控NodeManager
(3)启动或监控ApplicationMaster
(4)资源的分配与调度
2、NodeManager (NM)主要作用:
(1)管理单个节点上的资源
(2)处理来自ResourceManager的命令
(3)处理来自ApplicationMaster的命令
3、ApplicationMaster (AM)主要作用:
(1)负责数据的切分
(2)为应用程序申请资源并分配给内部的任务
(3)任务的监控与容错
4、Container主要作用:
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
八、MapReduce框架概述
MapReduce将计算过程分为两个阶段: Map和Reduce
1、Map阶段并行处理输入数据。
2、Reduce阶段对Map结果进行汇总。