主页 > 新闻资讯 > 大数据学习:HDFS基础架构解析

大数据学习:HDFS基础架构解析

作者:张老师 浏览次数: 2020-12-02 16:57
在Hadoop框架当中,作为三个核心组件之一的HDFS,也是大数据基础架构当中不可或缺的重要组件,负责大数据分布式存储的解决方案。今天的大数据学习分享,我们就主要来讲讲HDFS基础架构组成。

HDFS,根据官方的定义解释,是Hadoop的分布式文件系统,所谓文件系统,也就是说HDFS并不直接存储数据,而是主要进行分布式存储的管理,包括与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。

大数据学习:HDFS基础架构解析

HDFS基础架构组成

HDFS基础架构组成,包括Client、NameNode、Secondary NameNode、DataNode等。

(1)Client

Client(代表用户)通过与NameNode和DataNode交互访问HDFS中的文件。Client提供了一个类似POSIX的文件系统接口供用户调用。

Client在各组件里,分别有其对应的Client。比如,在HDFS里,在分析其原理时,是HDFS Client。同理,在Mapreduce里,是Mapreduce Client。

(2)NameNode

整个Hadoop集群中只有一个NameNode。它是整个系统的“总管”,负责管理HDFS的目录树和相关的文件元数据信息。这些信息以“fsimage”(HDFS元数据镜像文件)和“editlog”(HDFS文件改动日志)两个文件形式存放在本地磁盘,当HDFS重启时重新构造出来的。

此外,NameNode还负责监控各个DataNode的健康状态,一旦发现某个DataNode宕掉,则将该DataNode移出HDFS并重新备份其上面的数据。

(3)Secondary NameNode

Secondary NameNode最重要的任务并不是为NameNode元数据进行热备份,而是定期合并fsimage和edits日志,并传输给NameNode。这里需要注意的是,为了减小NameNode压力,NameNode自己并不会合并fsimage和edits,并将文件存储到磁盘上,而是交由Secondary NameNode完成。

(4)DataNode

一般而言,每个Slave节点上安装一个DataNode,它负责实际的数据存储,并将数据信息定期汇报给NameNode。DataNode以固定大小的block为基本单位组织文件内容,默认情况下block大小为64MB(当然现在的版本已经是128MB了)。

当用户上传一个大的文件到HDFS上时,该文件会被切分成若干个block,分别存储到不同的DataNode;同时,为了保证数据可靠,会将同一个block以流水线方式写到若干个(默认是3,该参数可配置)不同的DataNode上。这种文件切割后存储的过程是对用户透明的。

HDFS主从结构

HDFS采用了主/从(Master/Slace)结构模型,一个HDFS集群是由一个NameDode和若干个DataNode组成的。

NameNode中心服务器(Master):维护文件系统树、以及整棵树内的文件目录、负责整个数据集群的管理。

DataNode分布在不同的机架上(Slaver):在客户端或者NameNode的调度下,存储并检索数据块,并且定期向NameNode发送所存储的数据块的列表。

客户端与NameNode获取元数据;

客户端与DataNode交互获取数据。

关于大数据学习,HDFS基础架构,以上就为大家做了简单的介绍了。对于Hadoop生态而言,HDFS的地位是难以替代的,依存于Hadoop基础架构,HDFS的生命力非常强大。成都加米谷大数据,专业大数据培训机构,大数据开发,数据分析与挖掘,零基础班本月即将开班,课程大纲及试听课程可联系客服领取!
热点排行
推荐文章
立即申请>>