大数据概述
大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长和多样化的信息资产。
主要解决:海量数据的存储和海量数据的分析问题。
按顺序给出的数据存储单位:bit、Byte、KB、MB、GB、TB、PB、ZB、YB、BB、NB、DB
大数据应用场景
- 物流仓储:大数据分析系统助力商家精细化运营、提升销量、节约成本。
- 零食:分析用户消费习惯,为用户购买商品提供方便,提升销量。
- 旅游:结合大数据能力与旅游行业需求,共建旅游产业智慧管理、智慧服务。
- 广告推荐:给用户推荐可能喜欢的商品。
- 保险、房产、人工智能等。
Hadoop介绍
Hadoop是什么
- Hadoop是一个由Apache基金会所开发的分布式系统基础架构
- 主要解决海量数据的存储和海量数据的分析问题
- 广义上说,Hadoop通常泛指一个更广泛的概念——Hadoop生态圈
谷歌是Hadoop思想的起源,Google在大数据方便的三篇论文
- GFS对应HDFS
- Map_Reduce对应MR
- BigTable对应HBase
Hadoop三大发行版本
- Apache:最原始、最基础的版本,对于入门学习最好。
- Cloudera:内部集成了很多大数据框架,对应产品CDH。企业用的最多
- Hortonworks:文档较好,对应产品HDP。
Hadoop优势
- 高可靠性:Hadoop底层维护了多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据丢失。
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务的处理速度。
- 高容错性:能够自动给失败的任务重新分配。
Hadoop架构
HDFS架构
HDFS(Hadoop Distributed File System):分布式文件存储系统,将大数据分开存储,落在不同大硬盘上。HDFS中的几个概念
- NameNode(nn):存储文件的元数据,如文件名、文件目录结构、文件属性,以及每个文件的快列表和快列表所在的DataNode。相当于一个索引的存在。一个集群中,只有一个NameNode。
- DataNode(dn):在本地文件系统存储文件快数据,以及快数据的校验和。一个集群中,有N个DataNode。
- Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份,但是不能顶替NameNode。
HDFS是一个1主N从的架构。
YARN架构
YRAN主要工作是资源调度,主要调度的对象就是CPU和内存。YRAN也是一个1主N从的架构。
ResourceManager的作用
- 处理客户端请求
- 监控NodeManager
- 启动或监控ApplicationMaster
- 资源的分配和调用
NodeManage的作用
- 管理单个节点上的资源
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
ApplicationMaster作用
- 负责数据切分
- 为应用程序申请资源
- 任务的监控与容错
Container的作用
- Container是YRAN的资源抽象,封装了某个节点上多维度资源,如内存、CPU、磁盘、网络等。
MapReduce架构
MapReduce是一个计算框架,将计算分为两个阶段,Map和Reduce
- Map阶段并行处理输入数据
- Reduce阶段对Map阶段的结果进行汇总