《Hadoop技术原理》课件——3.pptx
Hadoop技术原理
HDFS分布式文件系统
HDFS简介
·hadoop的核心模块
Common:封装大量的API,为其他模块做技术支持
HDFS:hadoop的分布式文件系统,功能是存储海量数据YARN:分布式计算平台
MapReduce:分布式计算框架
Hadoop的核心模块
01
HDFS简介
概念
HDFS:HadoopDistributedFileSystem,是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础。
支持海量数据的存储,成百上千的计算机组成存储集群,HDFS可以运行在低成本的硬件之上,具有的高容错、高可靠性、高可扩展性、高吞吐率等特征,非常适合大规模数据集上的应用。
02
·
·特征
分布式文件系统
基于廉价的普通硬件,可以容忍硬件出错
当系统中的某一台或几台服务器出现故障的时候,系统仍可用且数据保持完整大数据集(大文件)
·HDFS适合存储大量文件,总存储量可以达到PB,EB级
·HDFS适合存储大文件,单个文件大小一般在百MB级之上
·文件数目适中
大型分布式计算的底层存储
HDFS简介
03
高容错性
·数据自动保存多个副本
·副本丢失后,自动恢复适合批处理
·移动计算而非移动数据
·数据位置暴露给计算框架适合大数据处理
·GB、TB、甚至PB级数据·百万规模以上的文件数量·10K+节点
流式文件访问
·一次性写入,多次读取·保证数据一致性
可构建在廉价机器上
·通过多副本提高可靠性·提供了容错和恢复机制
HDFS简介
·优点
04
·缺点
不适合低延迟数据访问
·比如毫秒级
·低延迟与高吞吐率
不适合小文件存取
·占用NameNode大量内存·寻道时间超过读取时间
不适合并发写入、文件随机修改·一个文件只能有一个写入者·仅支持append(追加)
HDFS简介
05
02
HDFS基本架构
2.通过水平复制,达到数据冗余的要求
机架感知,决定数据块保存的位置
DataNode硬盘DataNode硬盘DataNode
服务端
SecondaryNameNode
第二名称节点(默认在NameNode上)
HDFS
管理节点NameNode
名称节点
1.上传一个数据块
客户端
数据
block
当保存数据块的时候,NameNode会维护数据块的位置信息
HDFS基本架构
·HDFS的组成
硬盘
block
block
block
·NameNode的职责
管理维护HDFS(管理DataNode上文件Block的均衡,维持副本数量)
接收客户端的请求:上传、下载、删除文件等
维护了两个非常重要的文件:
·edits文件(操作日志文件)--记录操作日志(editlog)
主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到editlog中
·fsimage文件--HDFS的元信息
(1)包含HDFS中的所有目录和文件信息(二进制格式)
(2)对于目录来说,包含的信息主要有修改时间、访问控制权限等信息。
(3)对于文件来说,包含的信息有修改时间、访问时间、访问控制、块大小和组成一个文件块信息等;
HDFS基本架构
02
[rootDsinglecurrent]#hdfsoeu-i
03HDFS基本架构
·NameNode的职责
查看Edits
最新的操作日志:edits_inprogress****
·都是二进制
·HDFS提供一个工具:editsviewer日志查看器----XML
edits记录了HDFS的操作日志
[rootDsinglecurrent]#cd
[rootCsingle~J#catedits.×ml
?×mlversion=1.8encod