经过本教程您能够学习到java
1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构git
2)主要解决,海量数据的存储和海量数据的分析计算问题。github
3)广义上来讲,HADOOP一般是指一个更普遍的概念——HADOOP生态圈算法
1)Lucene--Doug Cutting开创的开源软件,用java书写代码,实现与Google相似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎apache
2)2001年年末成为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性能飙升oop
7)2005 年Hadoop 做为 Lucene的子项目 Nutch的一部分正式引入Apache基金会。2006 年 3 月份,Map-Reduce和Nutch Distributed File System (NDFS) 分别被归入称为 Hadoop 的项目中
8)名字来源于Doug Cutting儿子的玩具大象  9)Hadoop就此诞生并迅速发展,标志这云计算时代来临
1)Apache版本: 最原始(最基础)的版本,对于入门学习最好。
2)Cloudera在大型互联网企业中用的较多。
3)Hortonworks文档较好。
1)高可靠性:由于Hadoop假设计算元素和存储会出现故障,由于它维护多个工做数据副本,在出现故障时能够对失败的节点从新分布处理。
2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3)高效性:在MapReduce的思想下,Hadoop是并行工做的,以加快任务处理速度。
4)高容错性:自动保存多份副本数据,而且可以自动将失败的任务从新分配。
1)Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。
2)Hadoop MapReduce:一个分布式的离线并行计算框架。
3)Hadoop YARN:做业调度与集群资源管理的框架。
4)Hadoop Common:支持其余模块的工具模块。
1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每一个文件的块列表和块所在的DataNode等。
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
1)ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;
2)NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;
3)ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
4)Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
MapReduce将计算过程分为两个阶段:Map和Reduce
本系列的文章参考资料来源有3个地方:
若是有些章节忘记填写请原谅。第3和第4相关的内容可能在本系列牵涉很少,期待后期本身不懒,多多分享。
若是对您有帮助,别忘了点个start哟~~~