目录
一、基本介绍
1)Hadoop 是一个由Apache基金会所开发的分布式系统基础架构
注:分布式是指多个服务器完成某一项任务
2)主要用来解决海量数据的存储和海量数据的分析计算问题
3)广义上来说,Hadoop通常是指Hadoop生态圈
二、发展历史(百度百科)
Hadoop起源于Apache Nutch项目,始于2002年,是Apache Lucene的子项目之一 。2004年,Google在“操作系统设计与实现”会议上公开发表了题为《Mapreduce:简化大规模集群上的数据处理》的论文之后
受到启发的Doug Cutting等人开始尝试实现MapReduce计算框架,并将它与NDFS(Nutch Distributed File System)结合,用以支持Nutch引擎的主要算法 。由于NDFS和MapReduce在Nutch引擎中有着良好的应用,所以它们于2006年2月被分离出来,成为一套完整而独立的软件,并被命名为Hadoop。到了2008年年初,hadoop已成为Apache的顶级项目,包含众多子项目,被应用到包括Yahoo在内的很多互联网公司
三、三大发行版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks
1)Apache版本是最原始的版本,对于入门学习最好
2)Cloudera在大型互联网企业中用的较多,集合了很多大数据框架
3)Hortonworks的文档较好,也集合了很多大数据框架
四、Hadoop的优势
1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会造成数据的丢失
2)高扩展性:在集群间分配任务数据,可以方便的扩展数以千计的节点
3)高效性:在MapReduce的思想下,Hadoop是并行工作的,任务处理速度快
4)高容错性:能够自动将失败的任务重新分配
五、Hadoop的组成
又分为Hadoop1.X和Hadoop2.X
Hadoop2.x加上了一个Yarn,单独负责资源调度,在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大,在Hadoop2.x的时代,增加了Yarn。HDFS和MapReduce分别负责海量数据的存储和计算
六、HDFS的架构
1)NameNode:储存文件的元数据,如文件名,文件目录结构,文件属性,以及每个文件的块列表和块所在的DataNode等。
2)DataNode:在本地文件系统存储文件块数据,以及块数据的校验和。
3)Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
七、Yarn的架构
1)ResourceManager:相当于整个集群的老大
2)NodeManager:每个节点的老大
八、MapReduce的架构
MapReduce将计算过程分为两个阶段:Map和Reduce
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总