Hadoop生态圈概况
大数据
什么是大数据?大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。
大数据特征
大数据的特征可以用4个V来概括:
- Volume(大数据量):90% 的数据是过去两年产生
- Velocity(速度快):数据增长速度快,时效性高
- Variety(多样化):数据种类和来源多样化
结构化数据、半结构化数据、非结构化数据 - Value(价值密度低):需挖掘获取数据价值
除此之外,大数据还有它的固有特征,即:时效性和不可变性
分布式计算
分布式计算的核心理念是将较大的数据分成小的部分进行处理
Hadoop
Hadoop简介
Hadoop是一个开源分布式系统架构,它包括了如下几个重要组成部分:
- 分布式文件系统HDFS:解决大数据存储
- 分布式计算框架MapReduce:解决大数据计算
- 分布式资源管理系统YARN
Hadoop是处理海量数据的架构首选,可以非常快得完成大数据计算任务,现已发展成为一个Hadoop生态圈
Hadoop的优点
我们为什么要使用Hadoop?
- 高扩展性,可伸缩
- 高可靠性
- 多副本机制,容错高
- 低成本
无共享架构 - 灵活,可存储任意类型数据
- 开源,社区活跃
Hadoop与关系型数据库对比
Hadoop生态圈
Hadoop结构
- HDFS(Hadoop Distributed File System)
分布式文件系统,解决分布式存储 - MapReduce
分布式计算框架 - YARN
分布式资源管理系统 - 在Hadoop 2.x中引入
Common
支持所有其他模块的公共工具程序
HDFS
HDFS特点
HDFS优点:
- 支持处理超大文件
- 可运行在廉价机器上
- 高容错性
- 流式文件写入
HDFS缺点:
- 不适合低延时数据访问场景
- 不适合小文件存取场景
- 不适合并发写入,文件随机修改场景
dfsadmin
HDFS角色
- Client:客户端
NameNode (NN):元数据节点
管理文件系统的Namespace/元数据
一个HDFS集群只有一个Active的NN - DataNode (DN):数据节点
数据存储节点,保存和检索Block
一个集群可以有多个数据节点 - Secondary NameNode (SNN):从元数据节点
合并NameNode的edit logs到fsimage文件中
辅助NN将内存中元数据信息持久化
HDFS架构
HDFS副本
- Block:数据块
HDFS最基本的存储单元
默认块大小:128M(2.x) - 副本机制
作用:避免数据丢失
副本数默认为3
存放机制:
一个在本地机架节点
一个在同一个机架不同节点
一个在不同机架的节点
HDFS读、写文件
读文件:
写文件: