HDFS(Hadoop Distributed File System)
(1) HDFS--Hadoop分布式文件存储系统
源自于Google的GFS论文,HDFS是GFS的克隆版
HDFS是Hadoop中数据存储和管理的基础
他是一个高容错的系统,能够自动解决硬件故障,eg:硬盘损坏,HDFS可以自动修复,可以运行于低成本的通用硬件上(低廉的硬盘,4TB是1200元左右)
一次写入多次读取,不支持修改操作,数据按块切分(按128M切块),按位存储(就近原则)
(2) HDFS底层架构 - 分布式文件存储系统
基于物理层存储的分布式(用多台虚拟机来存储咱们的存在)
基于客户端/服务器模式
通常情况下HDFS都会提供容错和备份机制
通常情况下:HDFS都是基于本地系统的文件存储系统
(3) 分布式文件系统的特点(优缺点)
优点:
高可靠:
按位存储,数据分配就近原则,会把数据分配到离他最近的DataNode,所以值得人们信赖
高扩展:
集群节点可以根据业务需求随时扩展和缩减
高效性:
可以在各个集群集群节点之间动态的移动数据,并且保证集群间各节点之间的动态平衡,因此处理速度非常快
高容错:
Hadoop能够自动保存多个副本(默认3份,可修改),并且能够将失败的任务自动重新分配,解决硬件故障
成本低:
不适合高效存储大量小文件
不适合低延迟的数据访问
不支持多用户的写入和修改操作,支持单用户的写入
(4) HDFS基本概念
HDFS是一个分布式文件存储系统(NDFS、GFS)
HDFS是用Java语言实现的、分布式的、可扩展的文件系统
HDFS是Hadoop的三大核心和四大模块之一
HDFS主要应用于海量数据的存储
HDFS是*nix(eg:Linux,Unix)
(5) HDFS的前提和设计目标
硬件问题
错误检测和快速、自动的恢复是HDFS最核心的架构目标
存储超大文件,存储量可以达到PB、EB级别(单个文件一般至少是百MB以上)
数据访问:流式访问(不支持随机访问)
HDFS的简单一致性模型:
HDFS需要对它的应用程序实行一次写入、多次读取的访问模式
(6) HDFS的基本概念
HDFS的基本存储单位:块,块是最小的数据读写单位
Hadoop1.0*默认存储块大小:64M
Hadoop2.0*默认存储块大小:128M
块大小可以在配置文件hdfs-site.xml修改(1.0参数dfs.block.size/2.0参数dfs.blocksize)
块的默认单位:byte
每个块都有自己的全局(唯一)ID
以块为单位在集群服务器上分配存储