大数据1-Hadoop概述
大数据1-Hadoop概述
特点
4V
- 数据量大
- 高速
- 多样
- 低密度价值
Hadoop
是什么
- 是Apache基金会所开发的分布式系统基础框架
- 主要解决,海量数据的存储和海量数据的分析计算问题
- 广义上讲,Hadoop通常指更广泛的概念-----Hadoop生态圈
发展历史
- Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完成的查询引擎,和搜索引擎,es也是基于Lucene框架
- 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年,Map-Reduce和Nutch Distribute File System(NDFS)分别被纳入Hadoop项目中
发行版本
- Apache最原始(最基础),入门学习适合
- Cloudera 在大型互联网企业中用的较多
- Hortonworks 文档较好
Hadoop优势:
- 高可靠性,Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不导致丢失数据;
- 高扩展,在集群间分配任务数据,可方便的扩展数以千计的节点;
- 高效性:在Map-Reduce思想下,Hadoop是并行工作的,以加快任务处理;
- 高容错性:能够自动将失败的任务重新分配;
Hadoop1.X和2.X的区别
核心:为了解耦
HDFS架构
- NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等(索引);
- 元数据:描述数据的数据,即描述下面dn的数据
- 元数据:描述数据的数据,即描述下面dn的数据
- DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和;
- Secondary NameNode(2nn):用来监控HDFS状态的后台辅助程序,每隔一段时间获取HDFS元数据的快照
Yarn架构
ResourceManager(RM)的作用
- 处理客户端请求
- 监控NodeManager
- 启动或监控ApplicationMaster
- 资源的分配与调度
NodeManager(NM)的作用
- 管理单个节点上的资源
- 处理来自ResourceManager的命令
- 处理来自于ApplicationMaster的命令
ApplicationMaster(AM)的作用
- 负责数据的切分
- 为应用程序申请资源并分配给内部的任务
- 任务的监控和容错
Container
- 是yarn中的资源抽象,它封装了某个节点上多维度的资源,如内存,cpu,磁盘,网络等;
Map-Reduce架构
Map将计算过程分为两个阶段Map和Reduce阶段
Map:
如现在有100T数据需要分析:
将100T的数据拆分为N份,这个过程称为Map过程
Reduce:
把Map阶段拆分后分析的结果,进行汇总的过程;