HDFS分布式文件系统
1、HDFS产生背景
当今社会处在大数据的时代,各行各业产生海量数据,随着数据量越来越大,使用单台机器已无法处理这些海量数据,因此需要一种系统来存储当代大数据下产生的海量数据,于是分布式文件系统就诞生了。
2、分布式文件系统概叙
**分布式文件系统:**文件系统管理的资源不一定直接连接在本地节点上,把数据分布存储到各个独立的机器上(多台机器共同协作),通过网络来访问文件,而用户和程序看起来却像是在访问本体文件系统一样。
3、HDFS优缺点
HDFS的优点
3.1支持处理超大文件
这里的超大文件通常值GB到TB的量级文件。
3.2运行在"廉价"的机器上
能用pc机,就不会用大型机或者高端存储设备,可以降低公司运营成本。
3.3高容错性
HDFS上传的数据会自动保存多个副本,即通过增加副本数量来增加HDFS的容错性。一个副本丢失,HDFS副本冗余机制会自动复制其他机器上的副本。
3.4流式文件写入
HDFS提供一次写入、多次读取的服务
HDFS的缺点
3.5不适合低延迟数据访问场景
3.6不适合小文件存储
HDFS的元数据存放在NameNode中,如果集群小文件过多,会导致NameNode的压力倍增,从而影响集群性能
3.7不适合并发写入,文件随机修改场景
HDFS采用追加的方式写入,不支持在文件的任意位置修改
4、HDFS架构
HDFS采用master/slave架构
master:NameNode
slave:DataNode
NameNode:元数据节点
中心大脑 、负责客户端请求的响应。
负责元数据(文件的名称、副本系数,block存放的DN)的管理
一个Hdfs集群只有一个active的NameNode
Secondary Node:从元数据节点
元数据的合并处理
合并NameNode的edit logs到fsimage文件中
辅助NN将内存中元数据信息持久化
Data node:数据节点
存储用户的文件对应的数据块
要定期向NameNode发送心跳信息
Client:客户端
上传和下载
Block:数据块
HDFS最基本的存储单元
默认块大小:128M
作用:避免数据丢失
副本数默认为3
存放机制:
一个在本地机架节点
一个在同一个机架不同节点
一个在不同机架的节点