一、Hadoop
1、简介
Hadoop是一个由Apache基金会开发阿德分布式系统基础架构
主要解决,海量数据的存储和海量数据的分析计算问题
PS:储存大小数量级:兆M->吉G->太T->拍P->艾E->泽Z
Hadoop三大发行版本:Apache(最原始,最基础,开源)、Cloudera(大型互联网企业中用的多)、Hortonworks(文档较好)
2、优势
可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失
高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点
高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度
高容错性:能够自动将失败的任务重新分配
3、Hadoop组成
二、HDFS架构概述
1)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和
2)NameNode(nn)(只有一个):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。(存数据索引,只有一个)
3)Secondary NameNode(2n):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。(辅助nn)
三、YARN架构概述
(对内存资源和cpu算力进行调度)
1、ResourceManager(RM)主要作用:(管理整个集群)
1)处理客户请求
2)监控NodeManager
3)启动或监控ApplicationMaster
4)资源的分配与调度
2、NodeManager(NM)主要作用:(受RM的调配)
1)管理单个节点上的资源
2)处理来自ResourceManager的命令
3)处理来自ApplicationMaster的命令
3、ApplicationMaster(AM)主要作用:(受NM的调配,并不是常驻进程,任务结束后进程结束)
1)负责数据的切分
2)为应用程序申请资源,并分配给内服的任务
3)任务的监控与容错
4、Container(容器):(非常驻)
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。NodeManager通过启动和关闭容器完成资源的调度
四、MapReduce架构概述
MapReduce将计算过程分为两个阶段,Map和Reduce
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
五、大数据生态体系
笔记:
元数据:描述数据的数据。例:索引
Sqoop:导入数据库数据
HDFS:所有数据存储都是基于HDFS,有缺陷,但是没有更优的替代品
HBase:Big Table
资源调度平台:除了YARN还有K8S等
计算引擎:除了给的MapReduce,Spark Core还有目前很火的Flink;引擎上面的小方块分别是引擎的包装,通过sql语句等方式,调用引擎
结构化数据和半结构化数据上面是离线计算,非结构化数据上面是在线计算。
在线计算引擎:Storm,Spark Streaming,Flink
在线计算特点:流式计算,没有头和尾,衡量框架用处理信息流的速度或口径。Storm淘汰的原因是口径小,数据吞吐速率过低。
Storm纯流式计算,一滴水一滴水计算;Spark Streaming用蓄水池蓄成一池水再处理,处理一块蓄水池的时候蓄一池新的水,继续处理。
Flink纯流式计算
任务调度:任务之间的依赖关系
Zookeeper:协调各个数据框架之间的关系