什么是大数据
大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据主要解决,海量数据的采集、存储和分析计算问题。
大数据4V特征:
- Volume(量大):存储量大,计算量大
- Variety(多样):来源多,格式多
- Velocity(快速):数据增长速度快,处理速度要求快
- Value(价值):价值密度低,和数据总量的大小成反比
Hadoop是什么
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。- 主要解决,海量数据的存储和海量数据的分析计算问题。
- 广义上来说,
Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

Hadoop发展历史
Hadoop创始人Doug Cutting,为了实现与Google类似的全文搜索功能,他在Lucene框架基础上进行优化升级,查询引擎和索引引擎。2001年年底
Lucene成为Apache基金会的一个子项目。对于海量数据的场景,
Lucene框架面对与Google同样的困难,存储海量数据困难,检索海量数据速度慢。学习和模仿
Google解决这些问题的办法:微型版Nutch。可以说
Google是Hadoop的思想之源。Google在大数据方面的三篇论文:GFS -> HDFSMap-Reduce -> MRBigTable -> 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项目中,Hadoop就此正式诞生,标志着大数据时代来临。名字来源于
Doug Cutting儿子的玩具大象。

大数据的优势
高可靠性:
Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
例如:淘宝和京东,在双11、618等购物节,可以动态的增加服务器。
高效性:在
MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。高容错性:能够自动将失败任务重新分配。
Hadoop组成(重点)

Hadoop3.x的细节优化
Java改为支持8及以上
HDFS支持纠删码
HDFS支持多NameNode
MR任务级本地优化
多重服务默认端口变更
HDFS架构概述
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。
节点类型分为三类:
NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份。
YARN架构概述
Yet Another Resource Negotiator简称YARN,另一种资源协调者,是Hadoop的资源管理器。
共有4个部分:
ResourceManager(RM):整个集群资源(内存、CPU等)的老大。NodeManager(NM):单个节点服务器资源老大。ApplicationMaster:单个任务运行的老大。Container容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce。
Map阶段并行处理输入数据。Reduce阶段对Map结果进行汇总。
HDFS、YARN、MapReduce三者之间的关系
