一、Hadoop概述
1.大数据的定义:大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。
2.大数据特征:
4V特征:
(1)Volume(大数据量):90% 的数据是过去两年产生
(2)Velocity(速度快):数据增长速度快,时效性高
(3)Variety(多样化):数据种类和来源多样化
1`结构化数据、半结构化数据、非结构化数据
(4)Value(价值密度低):需挖掘获取数据价值
固有特征:
时效性、不可变性
4.新老分布式计算比较
![](https://i-blog.csdnimg.cn/blog_migrate/8d0808f0d3ae232390674ac5725facfe.png)
5.Hadoop定义:
Hadoop是一个开源分布式系统架构,处理海量数据的架构首选,非常快得完成大数据计算任务,已发展成为一个Hadoop生态圈
(1)分布式文件系统HDFS——解决大数据存储
(2)分布式计算框架MapReduce——解决大数据计算
(3)分布式资源管理系统YARN
6.Hadoop发展及版本
(1)Hadoop起源于搜索引擎Apache Nutch
创始人:Doug Cutting
2004年 - 最初版本实施
2008年 - 成为Apache顶级项目
(2)Hadoop发行版本
社区版:Apache Hadoop
Cloudera发行版:CDH
Hortonworks发行版:HDP
7.hadoop优势
(1)高扩展性,可伸缩
(2)高可靠性,多副本机制,容错高
(3)低成本
(4)无共享架构
(5)灵活,可存储任意类型数据
(6)开源,社区活跃
8.Hadoop vs. RDBMS
Hadoop与关系型数据库对比
|
RDBMS
|
Hadoop
|
格式
|
写数据时要求
|
读数据时要求
|
速度
|
读数据速度快
|
写数据速度快
|
数据监管
|
标准结构化
|
任意结构数据
|
数据处理
|
有限的处理能力
|
强大的处理能力
|
数据类型
|
结构化数据
|
结构化、半结构化、非结构化
|
应用场景
|
交互式
OLAP
分析
ACID
事务处理
企业业务系统
|
处理非结构化数据
海量数据存储计算
|
9.Hadoop生态圈
![](https://i-blog.csdnimg.cn/blog_migrate/75090c2459d76c819affdcfe6f6a771a.png)
二、Zookeeper
1.定义:是一个分布式应用程序协调服务,解决分布式集群中应用系统的一致性问题
2.提供的功能:配置管理、命名服务、分布式同步、队列管理、集群管理等
3.特性:
(1)全局数据一致
(2)可靠性、顺序性、实时性
(3)数据更新原子性
4.Zookeeper集群
角色:Leader、Follower、Observer
三、Hadoop架构
1.HDFS:分布式文件系统,解决分布式存储
2.MapReduce:分布式计算框架
3.YARN:分布式资源管理系统 在Hadoop 2.x中引入
4.Common:支持所有其他模块的公共工具程序
5.HDFS特点:
(1)支持处理超大文件
(2)可运行在廉价机器上
(3)高容错性
(4)流式文件写入
6.HDFS缺点
(1)不适合低延时数据访问场景
(2)不适合小文件存取场景
(3)不适合并发写入,文件随机修改场景
7.HDFS CLI (命令行)
1.基本格式
(1)hdfs dfs -cmd<args>
(2)hadoop fs -cmd<args>(已过时)
2.命令
-ls- -mkdir -put -rm -help
3.hdfs dfsadmin:用于管理HDFS集群
命令
|
描述
|
hdfs dfsadmin -report
|
返回集群的状态信息
|
hdfs dfsadmin -safemode enter/leave
|
进入和离开安全模式
|
hdfs dfsadmin -saveNamespace
|
保存集群的名字空间
|
hdfs dfsadmin -rollEdits
|
回滚编辑日志
|
hdfs dfsadmin -refreshNodes
|
刷新节点
|
hdfs dfsadmin -getDatanodeInfo node
1
:8010
|
获取数据节点信息
|
hdfs dfsadmin -setQuota
10
/h
dfs
|
设置文件目录配额
|
4.使用HDFS shell处理移动通讯数据
(1)创建存放数据文件的目录
创建多级目录:hdfs dfs -mkdir -p /a/b/c
查看多级目录:hdfs dfs -lsr /a
(2)将通讯数据上传到HDFS并查看
上传:hdfs dfs -put /home/hadoop/data/mobile.txt /hdfs/shell
前者本地路径,后者hdfs路径
查看:hdfs dfs -text /hdfs/shell/mobile.txt
(3)下载文件到本地:hdfs dfs -get /hdfs/shell/mobile.txt /home/hadoop
前者hdfs路径,后者本地路径
(4)统计目录下文件大小
hdfs dfs -du hdfs路径
(5)删除移动数据文件和目录
hdfs dfs -rm /hdfs/shell/mobile.txt
删除多级目录: hdfs dfs -rmr /hdfs
5.HDFS角色
(1)Client:客户端
(2)NameNode (NN):元数据节点
管理文件系统的Namespace/元数据
一个HDFS集群只有一个Active的NN
(3)DataNode (DN):数据节点
数据存储节点,保存和检索Block
一个集群可以有多个数据节点
(4)Secondary NameNode (SNN):从元数据节点
合并NameNode的edit logs到fsimage文件中
辅助NN将内存中元数据信息持久化
6.HDFS架构
![](https://i-blog.csdnimg.cn/blog_migrate/691d9eb65084fc341e943952bebc5063.png)
7.HDFS副本机制
(1)Block:数据块
HDFS最基本的存储单元
默认块大小:128M(2.x)
(2)副本机制
作用:避免数据丢失
副本数默认为3
存放机制:
一个在本地机架节点
一个在同一个机架不同节点
一个在不同机架的节点
8.HDFS读文件
![](https://i-blog.csdnimg.cn/blog_migrate/c5358b2f2804e56e19234bd62404ef8f.png)
9.HDFS文件格式
(1)HDFS支持以不同格式存储所有类型的文件
文本、二进制
未压缩、压缩
(2)为了最佳的Map-Reduce处理,文件需可分割
SequenceFile
Avro File
RCFile&ORCFile
Parquet File