一、HDFS简介
1、Hadoop
2、Hadoop2的主要改进:
- YARN
- NameNode HA
- HDFS federation
- Hadoop RPC 序列化扩展性
3、HDFS是什么?
Hadoop DISTRIBUTED FILE SYSTEM,简称HDFS,是一个分布式文件系统。它是谷歌的GFS提出之后出现的另外一种文件系统。它有一定高度的容错性,而且提供了高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解决方案。
4、HDFS主要特性
- 支持超大文件
- 检测和快速应对硬件故障
- 流式数据访问
- 简化一致性模型
5、HDFS不适合的场景
- 低延迟数据访问
- 大量的小文件
- 多用户写入文件,修改文件
从这个图,我们可以看到HDFS中,主要由两类节点组成,一种是NameNode(NN),一种是DataNode(DN)。
NameNode是主控制服务器,负责管理HDFS文件系统的命名空间,记录文件数据库在每个DataNode节点上的位置和副本信息,协调客户端(Client)对文件的访问/操作,以及记录命名空间内的改动或命名空间本身属性的改变。
DataNode是数据存储节点,负责自身所在物理节点上的存储管理。HDFS中文件存储是按块(Block)存储的,Hadoop2默认大小是128MB。Hadoop1默认大小是64MB
客户端操作数据,只通过NameNode获取DataNode节点的物理位置,对于写/读数据的具体操作,NameNode是不会参与的,全部由DataNode负责。
由于HDFS中只有一个NameNode节点,所有存在单点问题,即如果改NameNode节点宕机,那么HDFS就会出现问题,数据可能丢失。解决办法是启动一个SecondaryNameNode或者将NameNode数据写出到其它远程文件系统中。
NameNode是主控制服务器,负责管理HDFS文件系统的命名空间,记录文件数据库在每个DataNode节点上的位置和副本信息,协调客户端(Client)对文件的访问/操作,以及记录命名空间内的改动或命名空间本身属性的改变。
DataNode是数据存储节点,负责自身所在物理节点上的存储管理。HDFS中文件存储是按块(Block)存储的,Hadoop2默认大小是128MB。Hadoop1默认大小是64MB
客户端操作数据,只通过NameNode获取DataNode节点的物理位置,对于写/读数据的具体操作,NameNode是不会参与的,全部由DataNode负责。
由于HDFS中只有一个NameNode节点,所有存在单点问题,即如果改NameNode节点宕机,那么HDFS就会出现问题,数据可能丢失。解决办法是启动一个SecondaryNameNode或者将NameNode数据写出到其它远程文件系统中。
HDFS读写流程