Hadoop学习1
Hadoop
Hadoop是什么
- Hadoop是一个由Apache基金会所开发的分布式系统基础架构
- 主要解决海量数据的存储和海量数据的分析计算问题
- 广义上来说,Hadoop通常是指一个更广泛的概念-------Hadoop生态圈
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三大发行版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache版本最原始,对于入门学习最好
Cloudera在大型互联网企业中用的较多。
Hortonworks文档较好
Hadoop优势
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度
- 高容错性:能够自动将失败的任务重新分配
Hadoop1.x和2.x的区别
Hadoop组成
HDFS架构概述
- NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
- DataNode(dn):在本文件系统存储文件块数据,以及块数据的校验和
- Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照
YARN架构概述
MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce,如图所示
- Map阶段并行处理输入数据
- Reduce阶段对Map结果进行汇总