Hadoop学习笔记01
一、大数据概念
大数据
大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
主要解决问题
- 海量数据的采集
- 存储和分析计算问题
特点
- 大量(Volume)
- 高速(Velocity):处理效率
- 多样(Variety):结构化(数据库、文本)/非结构化(音频、视频)
- 低价值密度(Value):数据总量越大,价值密度越低。有用数据提纯
二、Hadoop入门
概念
1. Hadoop是什么
- Hadoop是一个由Apache基金会所开发的分布式系统基础架构
2. Hadoop的优势
- 高可靠性:Hadoop底层维护多个数据副本
- 高扩展性:在集群间分配任务数据,动态扩展和减少节点
- 高效性:Hadoop是并行工作的,以加快任务处理速度
- 高容错性:能够自动将失败的任务重新分配
3. Hadoop(3.x)的组成
- Common(辅助工具)
- HDFS(数据存储)
- Yarn(资源调度)
- MapReduce(计算)
4. HDFS架构概述
- NameNode(nn):存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等
- DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和
- Secondary NameNode(2nn):每个一段时间对NameNode元数据备份,如果元数据跨了不至于数据都没法用了
5. YARN架构概述
- ResourceManager(RM):整个集群资源(内存、CPU等)的Boss
- NodeManager(NM):单个节点服务器的Boss
- ApplicationMaster(AM):单个任务运行的Boss
- Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等
- 关系结构
- 说明
- 客户端可以有多个
- 集群上可以运行多个Application
- 每个NodeManager上可以有多个Container
- 每个Container最少分配1个CPU,1G内存
6. MapReduce架构概述
MapReduce将计算过程分为两个阶段
- Map阶段并行处理输入数据
- Reduce阶段对Map结果进行汇总
将执行任务分配到各个结点服务器(如检索某个数据),这是Map过程,找到的结果汇总给总服务器,这是reduce过程
7. HDFS、YARN、MapReduce三者关系