温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HDFS文件系统的介绍

发布时间:2021-07-21 09:32:05 来源:亿速云 阅读:206 作者:chen 栏目:大数据

本篇内容主要讲解“HDFS文件系统的介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HDFS文件系统的介绍”吧!

        上一节我们简单介绍了hadoop主要由三大块组成:分布式文件系统(HDFS)、分布式计算框架(MapReduce)、分布式调度器(yarn)组成,从这节课开始,我们逐一的详细介绍这些技术。本节课,就详细了解一下分布式文件系统--HDFS。

        一、课前知识:

               文件系统: 文件系统(file system)是命名文件及放置文件的逻辑存储和恢复的系统,我的理解就是管理文件命名及存放的一种软件系统。

                                  常见的格式有:windows下:FAT\FAT32\NTFS      Linux下:Ext2 Ext3     Mac OS 下:HFS

            分布式系统:    分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络                                                             与节点(可简单的理解为一台计算机)相连;

                                  常见的有: GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文                                                            件系统,而是应用级的分布式文件存储服务。

                                                                   文件系统是一个很庞大的概念,这里只是很简单的一个介绍。

        二、HDFS文件系统

                   HDFS是大数据系统的基础,它提供了基本的存储功能, HDFS的思想很简单,就是namenode负责数据存储位置的记录,datanode负责数据的存储。使用者client               会先访问namenode询问数据存在哪,然后去datanode存储;写流程也基本类似,会先在namenode上询问写到哪,然后把数据存储到对应的datanode上。所以                         namenode作为整个系统的灵魂,一旦它挂掉了,整个系统也就无法使用了。

                 1、 这里有几个概念:

                  namenode:主节点,主要负责HDFS集群的管理以及元数据信息管理

                  datanode:从节点,主要负责存储用户数据

                  secondaryNameNode:辅助namenode管理元数据信息,以及元数据信息的冷备份

                 注:怎么一理解元数据,最简单的一个比喻,我们在windows系统中在一个文件上鼠标右键选择属性所显示的内容就是元数据,简单说就是描述文件名称、

位置、大小等信息的数据。HDFS系统正是通过namenode来保存文件在哪里,有多大,权限等等属性的。

                2、HDFS的存储空间

                  HDFS文件系统的介绍

                通过上图,我们可以看出,HDFS的总存储容量集群中所有的磁盘相加的和,比如上图中,HDFS对上层应用系统提供了共60T的空间,上层应用不需要知道

自己保存的文件具体在那一台服务器上。

  三、HDFS存储的原理

                在Hadoop中,一个文件被划分成大小固定的多个文件块,分布的存储在集群中的节点中。我们将这个划分的块称之为:block,block块的大小可以通过hdfs-site.xml当中的配置文件进行指定。在hadoop1当中,文件的block块默认是64M,hadoop2、3默认是128M,。

      HDFS文件系统的介绍

   通过上图,我们可以看出:几个概念:

             1、blocak划分:一个300M的文件,按128M的划分,被分成了三块,分别是blk1、blk2、blk3,

              2、副本:我们可以看出第一个block块,都有三个副本,分别存在同一集群的不同的机器上,(注意:副本数可以根据配置文件设置)

   注: 如果有一个文件大小为1KB,也是要占用一个block块,但是实际占用磁盘空间还是1KB大小。所以,HDFS不适合存储小文件的场景,比如我们

应用系统中的一些附件上传,通常文件都不会太大(小于64M),所以,就不适用使用HDFS来存储。

           提一个问题:为什么我们不能通过修改配置文件,来让HDFS适用于存储小文件。(提示:和namenode有关,namenode的数据量会非常大)。

  四、HDFS架构

               先盗一张图来看看,网上基本上都用这张图来说事:

               HDFS文件系统的介绍

      HDFS集群包括,NameNode和DataNode以及Secondary Namenode。

  • NameNode负责管理整个文件系统的元数据,包括hdfs目录树、每个文件有哪些块、每个块存储在哪些datanode

  • DataNode 负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本。

  • Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。最主要作用是辅助namenode管理元数据信息HDFS文件系统的介绍

到此,相信大家对“HDFS文件系统的介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI