在大数据处理当中,最核心要解决的其实就是两个问题,大数据存储和大数据计算。在Hadoop生态当中,解决大数据存储,主要依靠就是HDFS,再配合数据库去完成。今天的大数据入门分享,我们就来讲讲Hadoop HDFS存储原理。
1、什么是HDFS?
HDFS即Hadoop distributed file system(hadoop分布式文件系统),在Hadoop当中负责分布式存储阶段的任务,它是一个分布式的文件系统,也可以用来存放单个机器的数据,只是大部分用来存储分布式数据。HDFS跟window下的NTFS一样可以通过目录树来查找数据。
2、HDFS解决什么问题?
整个Hadoop框架,本质上来说都是基于分布式实现的,随着数据规模的越来越大,一台机器无法存储所有的数据,所以需要多台机器来存储。而多台机器存储又不方便管理,所以需要一个分布式的系统来管理分布在不同机器中的数据。
事实上,HDFS的出现,就是为了解决分布式框架下,数据存储管理的问题。而HDFS只是分布式文件系统中的一种,依托于Hadoop生态,去承担大数据分布式存储的管理任务。
3、HDFS的概念与架构
HDFS是典型的主/从架构。HDFS集群由一个NameNode组成,NameNode是一个主服务器,它管理文件系统名称空间并控制客户机对文件的访问。此外,还有许多datanode,通常是集群中的每个节点一个datanode,它们管理附加到它们所运行的节点上的存储。
Namenode:
即master,有以下功能
*管理文件系统命名空间;
*控制client对数据的读取和写入请求;
*管理数据块到datanode的映射关系;
*管理副本策略。
Datanode:
即slave,主要是存储文件块数据,接受来自namenode的指令,并执行指令对数据块的创建,删除,复制等操作。
Client:
即客户端,有以下功能:
*对文件的切分,HDFS上传数据时,client将文件切分成多个block再进行上传;
*与namenode交互,获取文件的索引信息;
*与datanode交互,对数据的读取和写入;
*在客户端中提供相关HDFS的命令,比如对HDFS的管理,格式化namenode,对HDFS对数据操作,比如上传文件到HDFS等。
Secondary namenode:
并非namenode的热备,当namenode挂掉的时候,并不能立马替换namenode并提供服务,只是在定时的对namenode进行备份,存在一定的时间误差,secondary会备份namenode的Fsimage和Edits,在紧急情况下,可以适用secondarynamenode来恢复部分的namenode。
关于大数据学习,Hadoop HDFS存储入门,以上就为大家做了简单的介绍了。在Hadoop大数据框架当中,HDFS作为分布式文件系统,始终是重要的核心组件,学习当中也自然需要深入理解掌握。